为什么以下代码在 C++ 中是非法的?
(int) foo()
{
return 0;
}
毕竟
中的第一个括号int( * foo )();
建议可以在声明中使用括号作为优先级目的。
最佳答案
不,第二个示例中的括号并不表示。它只是一个语法结构,意思是“这是一个指向函数的指针”。它不依赖于优先级。
该代码是非法的,因为没有以 (
开头的表达式在您可以声明函数的上下文中有效(即:全局范围、类范围或命名空间范围)。
关于c++ - C++ 定义中的优先括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018283/