在C++中定义全局变量时避免重复定义

问题:如何在C++中定义全局变量时避免重复定义呢?

今天遇到问题,全局变量重定义错误,印象中记得要加extern,但是怎么都不对,找资料后得到了解决方案,记之。(参考文献:http://www.xjktarena.com/jswz/121.html)


解决方案:

只要在定义时尽量在.cpp文件中进行,而不要在.h 文件中定义。定义好了之后,可以在.h文件中利用extern关键字进行声明。如果在.h文件中定义的话,多层包含就可能会引起重复定义的错误。

  

例子:

在params.cpp中定义全局变量

  params.cpp

  int a;//定义


  params.h

  extern int a;//声明


  然后其他文件要使用这些变量的时候只要#include "params.h"就可以了,而且不会引起重复定义的错误.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章