"extern string-literal declaration"功能范围内
"extern string-literal declaration" within function scope
from [dcl.link]#2 :
外部字符串文本声明
该段没有指定在函数范围内声明的任何特殊情况,但以下内容也没有编译:
void foo () { extern "C" int boo () ; }
从 G++ 输出:
错误:字符串常量之前应为非限定 ID
所以这是 G++ 的错误还是我错过了什么。?
linkage-specification 是声明的一部分,声明是声明序列的一部分,可以是命名空间主体或翻译单元的一部分。
语法中没有任何地方允许在函数中使用块声明,它几乎与声明相同,但值得注意的是缺少链接规范。
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- 错误:未在此范围内声明'reverse'
- 并行用于C++17中数组索引范围内的循环
- 求出有多少个数字是完美平方,而sqrt()是L,R范围内的素数
- 不计算一个范围内的完美数
- 错误:"imread"未在此范围内声明
- 我在范围内未声明的错误类有问题
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 我有一个数组,我想输入一个范围,然后找到范围内所有偶数的总和?
- 未在此范围内声明错误 'xy'
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 命名空间范围内的外部 - GCC vs clang vs msvc
- 如何改进一堆在已知值范围内评估变量的 else-if 条件?
- 如何仅使用 While 循环在给定范围内找到可被 7 整除的计数整数
- Socklen_t未在此范围内声明
- 错误:'[' 之前预期的非限定 id 和错误:'users'未在此范围内声明
- "extern string-literal declaration"功能范围内
- 在此范围内未声明类功能
- 使用检查功能查找给定范围内的所有回文数
- 包含的功能在以后的范围内不可用