2 lgp8z lgp8z 于 2016.03.15 17:12 提问

c++如何定义全局对象,(非内置类型)
c++

我想定义一个全局的对象供多个源文件使用
按道理,在一对源文件和头文件中分别定义和extern声明,在要调用该全局对象的源文件中包含之前的头文件即可。但是编译出错:无法解析的外部符号。但是用同样的方法定义一个全局的内置变量确实可以的。希望高手解答。

5个回答

lgp8z
lgp8z   2016.03.15 18:57
已采纳

是可以的,是我太粗心大意了,把变量名搞错了,最最低级色错误。

oyljerry
oyljerry   Ds   Rxr 2016.03.15 17:24

最好不要在多个源文件之间共享全局对象,这样很难保证唯一性。你应该是通过方法来封装全局对象。可以考虑单例方式,然后用它的成员变量

qq423399099
qq423399099   Ds   Rxr 2016.03.15 17:25

应该是可以的啊,不知道LZ用的是什么IDE

lgp8z
lgp8z 我使用的qt,msvc2013编译器
一年多之前 回复
cxsmarkchan
cxsmarkchan   2016.03.15 17:26

从你的描述看不出问题,建议把代码贴出来啦

John_ToStr
John_ToStr   Rxr 2016.03.16 14:50

在比较大的项目中尽量不要用全局变量。控制不好会出问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!