因为我在C ++中使用了结构,所以已经有一段时间了。
知道为什么这不起作用?我的编译器抱怨DataStruct不是一个公认的类型,但VC ++中的Intellisense仍然能够看到结构中的数据成员,所以语法还可以......
Frustating。 xD
struct DataStruct
{
int first;
};
int main(int argc, char **argv)
{
DataStruct test;
//test.first = 1;
}
答案 0 :(得分:16)
您确定要将文件编译为C ++吗?如果将其编译为C(即如果文件具有.c而不是.cpp扩展名),则会出现问题。
答案 1 :(得分:4)
您正在编译为C代码。 C要求您使用“Struct”关键字引用它或键入它。 C ++没有。
答案 2 :(得分:1)
您需要使用struct DataStruct
来引用结构。
或者,如果不想在任何地方使用“struct”,可以将其定义为DataStruct
。