1. 程式人生 > >C++ static變量出現 無法解析的外部符號:public:static的錯誤

C++ static變量出現 無法解析的外部符號:public:static的錯誤

解決方法:

除了在標頭檔案中定義以外,應該在類的生命之外重新定義一次。

.h中:

class A
{
    ...
 public:
    static int a;
};

.cpp中:

#include ...

int A:a = 0;

原因:

靜態變數雖然是成員變數,但是靜態變數和全域性變數都是在同一儲存區儲存的,程式初始化的時候就需要對該變數做初始化。所以靜態變數的表現就跟全域性變數一樣,需要類內宣告、類外定義。