c++ - C++ 定义中的优先括号

标签 c++ function

为什么以下代码在 C++ 中是非法的?

(int) foo()
{
    return 0;
}

毕竟

中的第一个括号
int( * foo )();

建议可以在声明中使用括号作为优先级目的。

最佳答案

不,第二个示例中的括号并不表示。它只是一个语法结构,意思是“这是一个指向函数的指针”。它不依赖于优先级。

该代码是非法的,因为没有以 ( 开头的表达式在您可以声明函数的上下文中有效(即:全局范围、类范围或命名空间范围)。

关于c++ - C++ 定义中的优先括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018283/

相关文章:

C静态内联函数重定义规则

C++ 在内存地址读取一些字节,输出为字符串

c++ - 使用 C++ 模板编译类成员变量?

c++ - 在 CMake 中找不到带有 'include_directories' 的 header

c++ - C++ 中的两阶段构造

c++ - 在函数中传递显式字符数组?

c++ - 嵌套 vector 与连续数组的性能影响

c++ - 如何在qt中包含菜单项的工具提示

javascript - 顺序函数javascript

c# - 如何正确继承Unity的Awake()、Start()和Update、FixedUpdate()等回调函数?