C 错误:声明未声明任何内容[-Werror]|
这是一个非常业余的问题,我相信答案会非常简单,但我无法解决这个问题。我有一个.h文件和对应的.cpp文件,但由于某种原因,每当我尝试使用gcc编译时,我总是会遇到错误: 声明不声明任何内容//第10行C 错误:声明未声明任何内容[-Werror]|,c,struct,C,Struct,这是一个非常业余的问题,我相信答案会非常简单,但我无法解决这个问题。我有一个.h文件和对应的.cpp文件,但由于某种原因,每当我尝试使用gcc编译时,我总是会遇到错误: 声明不声明任何内容//第10行 应为“:”,“,”,“;”,“}”或“=”标记//第5行之前的“属性” 我希望使用像这样的BO2补偿: typedef struct BO2Offsets { struct Prestige { u32 offset = 0x000000; char
应为“:”,“,”,“;”,“}”或“=”标记//第5行之前的“属性” 我希望使用像这样的BO2补偿:
typedef struct BO2Offsets
{
struct Prestige
{
u32 offset = 0x000000;
char data[13] = { 0x00, 0x01, 0x02, 0x03, 0x04,
0x05, 0x06, 0x07, 0x08, 0x09,
0x0A, 0x0B, 0x0C
};
};
} BO2Offsets;
编辑2:
已解决,谢谢:)
您可能正在使用C编译器,但代码是C++(这也是C++14)。您需要更改编译器(或工具集),或者更改代码,使其能够使用C编译器进行编译 编辑:哪一行?它是否说未使用
struct Prestige
根据您的编辑:
typedef struct BO2Offsets BO2Offsets;
struct BO2Offsets
{
struct Prestige
{
u32 offset;
char data[13];
} prestige;
};
我使用了小写字母作为变量,因此它明显不同于
Prestige
类型。请至少阅读一本关于C的书。
typedef struct BO2Offsets BO2Offsets;
struct BO2Offsets
{
struct Prestige
{
u32 offset;
char data[13];
} prestige;
};
typedef struct Prestige
{
u32 offset = 0x000000;
char data[13] = { 0x00, 0x01, 0x02, 0x03, 0x04,
0x05, 0x06, 0x07, 0x08, 0x09,
0x0A, 0x0B, 0x0C
};
} prestige; // Small letters
...
BO2Offsets BO2;
BO2.prestige.offset;