编译器错误:“使用”之前应为非限定 id

Compiler error: expected unqualified-id before ‘using’

本文关键字:id 错误 使用 编译器      更新时间:2023-10-16

我正在尝试编译此c ++代码

template<int I> using Foo = int;
using Bar = int;

并得到这些编译器错误(g++ -c test.cpp

test.cpp:1:17: error: expected unqualified-id before ‘using’
 template<int I> using Foo = int;
test.cpp:2:7: error: expected nested-name-specifier before ‘Bar’
 using Bar = int;

我的问题是语法错误,正如此错误的大多数解决方案所表明的那样,只是不是任何典型的解决方案。

新的(从 c++11 开始)类型别名形式的"using"在尝试使用较旧的标准修订版编译它们时也会报告此错误。 添加 g++ 选项-std=c++11(或更高标准选项之一),让 g++ 知道它需要使用 c++11 功能编译代码。