错误 C7626:未命名 class 用于 typedef 名称不能声明非静态数据成员以外的成员,
Error C7626: Unnamed class used in typedef name cannot declare members other than non-static data members,
我在VS2022中使用C++构建一个项目。我必须包含一个来自名为 eve.h
的 sdk 的头文件。我已将包含此文件的包含文件夹添加到项目属性中。
然而,当我构建这个项目时,我收到了一些 C7626 错误,指出以下内容,并指向 eve.h
文件的某些行。
Error C7626 unnamed class used in typedef name cannot declare members other than non-static data members, member enumerations, or member classes (compiling source file main.cpp)
错误指向的其中一行中的代码是这样的:
typedef struct
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty=-1;
int buttonTwenty=-1;
}ALL_Buttons;
这是sdk中的头文件,不是我的代码。而且我以前从未遇到过这个错误。我该如何解决这个问题?谢谢
从 Microsoft documentation 开始,您的 struct
没有名称,但在 typedef 中,其中一些成员已在线初始化。
下面的代码在 VS 2022 中可以正常编译
typedef struct
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty;// = -1;
int buttonTwenty;// = -1;
}ALL_Buttons;
int main()
{
return 0;
}
编译器根据 C++ 版本发出警告或错误。
我通过给 sdk 中的结构命名解决了这个问题。如下:
之前:
typedef struct
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty = -1;
int buttonTwenty = -1;
}
之后:
typedef struct a
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty = -1;
int buttonTwenty = -1;
}
我在VS2022中使用C++构建一个项目。我必须包含一个来自名为 eve.h
的 sdk 的头文件。我已将包含此文件的包含文件夹添加到项目属性中。
然而,当我构建这个项目时,我收到了一些 C7626 错误,指出以下内容,并指向 eve.h
文件的某些行。
Error C7626 unnamed class used in typedef name cannot declare members other than non-static data members, member enumerations, or member classes (compiling source file main.cpp)
错误指向的其中一行中的代码是这样的:
typedef struct
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty=-1;
int buttonTwenty=-1;
}ALL_Buttons;
这是sdk中的头文件,不是我的代码。而且我以前从未遇到过这个错误。我该如何解决这个问题?谢谢
从 Microsoft documentation 开始,您的 struct
没有名称,但在 typedef 中,其中一些成员已在线初始化。
下面的代码在 VS 2022 中可以正常编译
typedef struct
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty;// = -1;
int buttonTwenty;// = -1;
}ALL_Buttons;
int main()
{
return 0;
}
编译器根据 C++ 版本发出警告或错误。
我通过给 sdk 中的结构命名解决了这个问题。如下:
之前:
typedef struct
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty = -1;
int buttonTwenty = -1;
}
之后:
typedef struct a
{
int isOpen;
int clearAll;
int clearSome;
int buttonFifty = -1;
int buttonTwenty = -1;
}