c++ - constexpr 函数可以包含标签吗?
问题描述
这个程序:
constexpr void f() { x: ; }
由 gcc 编译,但 clang 说:
error: statement not allowed in constexpr function
那么这段代码有效吗?
解决方案
正如Nathan Pierson在评论中指出的那样,Clang 是正确的,并且代码格式不正确。根据当前的工作草案(包括 C++20),dcl.constexpr#3说:
constexpr 函数的定义应满足以下要求:
...
它的功能体不应包含
...
标识符标签,
...
...
推荐阅读
- react-native - 反应本地本地通知
- r - R中的Vlookup以在另一个数据框中搜索列名并在匹配列名后获取另一列-R语言
- jquery - jQuery 效果在重新加载时消失
- go - Travis 构建 Go 目标 Wasm
- node.js - 是否可以通过 AWS API Gateway 和 lambda 函数将 PDF 文件上传到 S3 存储桶?
- sql - 包含句点的字段名称给我错误(使用括号)
- java - 如何修复:随机彩票号码程序的布尔数组。“无法将 int 转换为布尔值”
- reactjs - React-Table 列标题垂直显示
- python - 在python中将字节数组转换为有符号短
- javascript - 设置猫鼬文档的排序顺序