语法错误: 标识符“identifier”
编译器找到了一个意外标识符。 请确保
identifier
在使用之前已声明。
初始值设定项可能由括号括起来。 若要避免此问题,请将声明符括在括号中或让其成为
typedef
。
当编译器将表达式检测为类模板参数时,也可能导致此错误;使用
typename
告知编译器它是一种类型。
下面的示例生成 C2061:
// C2061.cpp
// compile with: /c
template < A a > // C2061
// try the following line instead
// template < typename b >
class c{};
如果将实例名称传递给 typeid,则可能会出现 C2061:
// C2061b.cpp
// compile with: /clr
ref struct G {
int i;
int main() {
G ^ pG = gcnew G;
System::Type ^ pType = typeid<pG>; // C2061
System::Type ^ pType2 = typeid<G>; // OK