作用域相同而名字不同的两个变量不会冲突,作用域相同名字也相同的两个变量会产生冲突。
C语言中在一定作用域内,结构标记,联合标记,枚举标记有相同的名字空间,且这个名字空间和普通变量的名字空间
是不一样的。所以在一个作用域内对标记和变量使用相同的名字不会产生错误,而标记和标记或变量和变量名字相同则会出错。
例如,下面的代码在C中不会有冲突。
struct rect {double x;double y;};
int rect
但C++ 中标记和变量在一个名字空间中
作用域相同而名字不同的两个变量不会冲突,作用域相同名字也相同的两个变量会产生冲突。
C语言中在一定作用域内,结构标记,联合标记,枚举标记有相同的名字空间,且这个名字空间和普通变量的名字空间
是不一样的。所以在一个作用域内对标记和变量使用相同的名字不会产生错误,而标记和标记或变量和变量名字相同则会出错。
例如,下面的代码在C中不会有冲突。
struct rect {double x;double y;};
int rect
但C++ 中标记和变量在一个名字空间中