在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"就可以了,而且不會引起重複定義的錯誤.

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