C语言类型重定义错误
我用VC++2010编一个C语言工程。工程的每个文件中都需要用到一个结构类型。于是我在自定义的头文件中定义了一个结构变量structplayer{……};。并且在主文件中...
我用VC++2010编一个C语言工程。工程的每个文件中都需要用到一个结构类型。于是我在自定义的头文件中定义了一个结构变量struct player{……};。并且在主文件中定义了该结构类型的三个全局变量struct player player1, player2, player3,在其他文件中引用这三个全局变量extern struct player player1, player2, player3. 结果运行之后报错:documents.h(5): error C2011: “player”:“struct”类型重定义
documents.h(5) : 参见“player”的声明。
请问这种情况是怎么回事?怎么处理? 展开
documents.h(5) : 参见“player”的声明。
请问这种情况是怎么回事?怎么处理? 展开
展开全部
可以这么解决,把你的头文件这么改:
#ifndef XXX
##define XXx
在这里粘贴你原来头文件的内容
#endif
#ifndef XXX
##define XXx
在这里粘贴你原来头文件的内容
#endif
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在头文件处添加:
#ifndef XXX
##define XXx
添加你想包含的头文件
#endif
#ifndef XXX
##define XXx
添加你想包含的头文件
#endif
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
documents.h可能被包含了多次吧 ?
更多追问追答
追问
每个文件中包含一次。一共有三个C文件main.c; game.c; player.c,然后就是一个头文件documents.h。这样有问题吗?
追答
可否发给我看一下呢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询