1. 程式人生 > >C++報錯:全域性變數重定義或是多次定義的

C++報錯:全域性變數重定義或是多次定義的

如何在C++中定義全域性變數時避免重複定義呢?只要在定義時儘量在.cpp檔案中進行,而不要在.h 檔案中定義,定義好了之後,可以在.h檔案中利用extern關鍵字進行宣告。如果在.h檔案中定義的話,多層包含就可能會引起重複定義的錯誤。下面通過一個示例為大家展示。

  在base.cpp中定義全域性變數

  base.cpp

  int g_MaxTime;

  int g_MinTime;

  int g_MaxCount;

  int g_MinCount;

  base.h

  extern int g_MaxTime;

  extern int g_MinTime;

  extern int g_MaxCount;

  extern int g_MinCount;

  然後其他檔案要使用這些變數的時候

  只要#include "base.h"就可以了,而且不會引起重複定義的錯誤