sha*_*oth 2 c++ compiler-construction definition
说我有一个类定义:
class CustomClass {
int member;
};
Run Code Online (Sandbox Code Playgroud)
为什么以下变量定义正在编译并正常工作:
CustomClass CustomClass; // the variable is properly constructed
Run Code Online (Sandbox Code Playgroud)
这不应该混淆编译器并导致它指示错误吗?
Don*_*hey 10
类名和变量名占据两个独立的名称空间.编译器能够确定第一个CustomClass
是类型,第二个CustomClass
是变量名.