我在c中制作一个简单的文本游戏只是为了好玩,但是在结构和/或Visual Studio 2010中遇到了一些问题。我已经启动了一个空的C ++项目,但我的主要主文件是main.c。
以下是代码:
int main()
{
struct Player
{
char name[256];
int sum;
};
struct Player player;
strcpy(player.name, "John");
player.sum = 0;
struct Player cpu;
strcpy(cpu.name, "Bob");
cpu.sum = 0;
printf("\n\n\n");
system("PAUSE");
return 0;
}
现在,编译器正在抱怨很多!其中之一:
语法错误:缺失;在type之前(struct Player cpu line)
休息与cpu不是结构有关,因此编译器不会对成员进行重新调整。
我的结构有什么问题?
答案 0 :(得分:5)
在C中,您必须首先在范围的开头声明所有局部变量。您应该在struct Player cpu;
struct Player player;
声明
答案 1 :(得分:1)
除了@Didier之外,您可以使用您拥有的内容制作.cpp文件而不是.c,并且编译器可以正常运行
答案 2 :(得分:0)
你所写的是有效的C ++但不是有效的C.将你的文件名改为main.cpp,它应该在Visual Studio中构建得很好。