为什么下面的函数void i( )
没有被调用为'Normal'函数。
void i(){
cout << 10 << endl;
}
int main(){
class i {
int j;
};
i();//
return 0;
}
预期的正常行为是打印1O,但我没有得到任何东西,没有编译器警告,也没有结果。
答案 0 :(得分:8)
内部i
正在遮蔽外部::i();
。你正在调用类i的默认构造函数,在这种情况下它什么都不做。
解决方案是明确确定调用的范围,如{{1}}
答案 1 :(得分:1)
因为它试图在当前范围内调用“i”:
您可以调用您的函数::i()
;