标签: c++ function
为什么以下代码在C ++中是非法的?
(int) foo() { return 0; }
毕竟,
int( * foo )();
建议括号可用于声明中的优先目的。
答案 0 :(得分:4)
不,你的第二个例子中的括号并不暗示。它只是一种语法结构,意味着"这是一个指向函数"的指针。它不依赖于优先权。
代码是非法的,因为没有以(开头的表达式在您可以声明函数的上下文中有效(即:全局范围,类范围或者命名空间范围)。
(