我正在查看朋友发给我的一些代码,他说:“它可以编译,但不起作用”。我看到他使用了不带括号的函数,如下所示:
void foo(){
cout<< "Hello world\n";
}
int main(){
foo; //function without parentheses
return 0;
}
我说的第一个是“使用括号,你必须”。然后我测试了该代码 - 它确实编译,但执行时不起作用(没有显示“Hello world”)。
那么,为什么它可以编译(编译器GCC 4.7根本没有警告),但不起作用?