c++:函数中变量名不能和函数名有重复?他俩一个是函数名一个是变量都不是一个东西为什么不能重名呢?
2个回答
展开全部
首先你要相信c/c++的语法规定肯定是有原因的,这相当于生活中的规矩,无规矩酒不成方圆。我举个简单例子说明你这种情况。
void fun(void)
{
void (fun*) (void); //函数void (void)型指针变量定义
//若程序中需要fun函数的入口地址,如
void (pfun*)(void) = fun; //此时这个fun到底是fun函数的入口地址还是函数指针变量fun呢? 如果允许函数名和变量名相同,就很容易造成“引用混乱”!,这就是原因
}
//希望对你有用!!
void fun(void)
{
void (fun*) (void); //函数void (void)型指针变量定义
//若程序中需要fun函数的入口地址,如
void (pfun*)(void) = fun; //此时这个fun到底是fun函数的入口地址还是函数指针变量fun呢? 如果允许函数名和变量名相同,就很容易造成“引用混乱”!,这就是原因
}
//希望对你有用!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询