社区
C++ 语言
帖子详情
编译问题
xryang
2011-04-27 10:01:29
问题描述:
//conf.h:定义了一些全局变量,读配置表付初值。例如int AAA;
//111.h: #include<conf.h>
//222.h: #include<conf.h>
//main.h:#include<conf.h> #include<111.h> #include<222.h>
这样会报AAA为多重定义。
将int AAA 修改为 static int AAA编译可以通过。
请问原因。
小弟万谢
...全文
104
9
打赏
收藏
编译问题
问题描述: //conf.h:定义了一些全局变量,读配置表付初值。例如int AAA; //111.h: #include //222.h: #include //main.h:#include #include #include 这样会报AAA为多重定义。 将int AAA 修改为 static int AAA编译可以通过。 请问原因。 小弟万谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xryang
2011-04-27
打赏
举报
回复
是不是还是要
//conf.h:声明变量
//conf.cpp:定义变量(从配置文件读)
这样更合理呢?
pathuang68
2011-04-27
打赏
举报
回复
[Quote=引用 1 楼 pengzhixi 的回复:]
因为头文件里面不要放定义。定义放到.cpp文件
[/Quote]
++
xryang
2011-04-27
打赏
举报
回复
[Quote=引用 6 楼 jiang_dlut 的回复:]
static变量放在头文件中的话,被2个不同的cpp文件分别引入时,
那么这两个cpp都有一个自己的这个static变量,并且相互不受影响。
你可以试试。
[/Quote]
这样是可以解释得通哈。
想这样读取配置的全局变量一般都怎么写呢更好呢?
jiang_dlut
2011-04-27
打赏
举报
回复
static变量放在头文件中的话,被2个不同的cpp文件分别引入时,
那么这两个cpp都有一个自己的这个static变量,并且相互不受影响。
你可以试试。
小屁孩
2011-04-27
打赏
举报
回复
学习、、、变量的声明和定义不管是在.h中还是.cpp形式不都一样么、、
xryang
2011-04-27
打赏
举报
回复
谢 pengzhixi。
为什么前面加上static就可以编译通过了呢?
因为我不想写个conf.cpp。
直接在conf.h中以static int AAA这样的形式定义一些全局变量有那些利弊?
谢谢。
luciferisnotsatan
2011-04-27
打赏
举报
回复
全局写成
extern int AAA
chengzhe
2011-04-27
打赏
举报
回复
在cpp中定义, 在h中声明, 可以改成extern int AAA
pengzhixi
2011-04-27
打赏
举报
回复
因为头文件里面不要放定义。定义放到.cpp文件
成功解决:Java Exception in thread "main" java.lang.Error: 无法解析的
编译
问题
:
java.lang.Error: 无法解析的
编译
问题
解决思路public class ClientLogin extends JFrame { }因为没有导入包,要在头文件导入该包,然后才可调用import javax.swing.JFrame; //继承JFrame的所有功能 public class ...
java中无法解析的
编译
问题
怎么解决,java.lang.Error: 无法解析的
编译
问题
Exception in thread "main " java.lang.Error: 无法解析的
编译
问题
:无法解析 MainWindowat MainWindow.main(MainWindow.java:201)我把代码分批贴出来import java.awt.*;import javax.swing.*;import java.awt....
解决keil总是全部
编译
问题
keil 总是全部
编译
,工程中该取消打勾的已取消,也总是全部
编译
。该方案解决这类的总是全部
编译
问题
“无法解析的
编译
问题
”
问题
的解决思路(EOS开发过程中遇到)
java.lang.Error: 无法解析的
编译
问题
产生这种错误的原因一般是因为
编译
的时候引入的包不对,可能是如下的情况: 1、 引入的类名写错了。 2、 引入的jar文件不对。 3、 引入的jar文件的版本对不上。 4、 ...
无法解析的
编译
问题
【转载】
Exception in thread "main" java.lang.Error: 无法解析的
编译
问题
产生这种错误的原因一般是因为
编译
的时候引入的包不对,可能是如下的情况: 1、 引入的类名写错了。 2、 引入的jar文件不对。 3、 引入的jar...
C++ 语言
64,650
社区成员
250,478
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章