为什么void i( )没有像'Normal'函数那样调用下面的函数.
void i(){
cout << 10 << endl;
}
int main(){
class i {
int j;
};
i();//
return 0;
}
Run Code Online (Sandbox Code Playgroud)
预期的正常行为是打印1O,但我没有得到任何东西,不是编译器警告也不是结果.
内在i遮蔽了外层.您正在调用类i的默认构造函数,在这种情况下它不执行任何操作.
解决方案是明确地调用范围,如 ::i();