在工作中遇到的局部变量作用域的问题

这个问题曾经在教科书上见到过,没想到自己居然遇到了。

前几天到客户那去维护程序,出现了大致如下的一段CPP代码。

        int resultValue =0;
	if (some condition)
	{
                /* other codes */
		int resultValue = /* some value */	
        }
	else
	{
                /* other codes */
		int resultValue = /* some value */
	}    
        /* use resultValue */

当时代码一跑下来,发现resultValue的值是0,仔细看了一下代码,发现在对resultValue复制的时候,声明了一个新的resultValue变量,最要命的是CPP编译器不报错。失望

当然,C#没有这个问题。

原文地址:https://www.cnblogs.com/quark/p/2139371.html