一个连接时的错误

proware 2004-10-10 10:04:10
我建了一个工程文件,
在一个头文件中定义了结构体和变量,文件名为file1.h
以后在其他文件中如果需要,则在其中加入#include "file1.h"
各个文件编译正常,但在连接时出现n个这样的错误:
其中count是在file1中定义的变量。
Linker Error: _count defined in module FILE4.CPP is duplicated in module FILE3.CPP
请指教
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
andycpp 2004-10-10
  • 打赏
  • 举报
回复
哦 明白了
搂主应该再搞一个file1.cpp文件,再这个文件中定义int count;在这个文件中还应该包含file1.h
然后在file1.h中添加如下代码 extern int count;

试试这样行不?
你我他111 2004-10-10
  • 打赏
  • 举报
回复
当然不可以这么做了,通常的做法是,不能够在头文件中定义变量,
因为你如果这么做了,并且不同源文件都包含它,就会引起重复定义。
都加入#include "stdio.h"没有错误,是因为人家stdio.h没有定义
变量。
如果你想定义一个全局变量,不同的源文件都用它,那么你可以在
其中一个源文件定义它,然后在file1.h说明它,就可以了
proware 2004-10-10
  • 打赏
  • 举报
回复
还是不行呀
andycpp 2004-10-10
  • 打赏
  • 举报
回复
在file1.h中再添加一些内容

#ifndef FILE1_H_
#define FILE1_H_

你自己的内容


#endif
proware 2004-10-10
  • 打赏
  • 举报
回复
我是在每个文件中都加入#include "file1.h"
但为什么都加入#include "stdio.h"没有错误呢?
lamputa_lito 2004-10-10
  • 打赏
  • 举报
回复
是不是重复包含了头文件啊。用#ifnotdefine....看看
alever513 2004-10-10
  • 打赏
  • 举报
回复
估计是头文件重复包含了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧