staticなメンバ変数の使い方。
Hoge.h
class Hoge {
public:
static Hoge *getInstance();
private:
Hoge() {};
static Hoge *instance;
};
Hoge.cpp
Hoge *Hoge::getInstance() {
if (!instance) {
instance = new Hoge();
}
return instance;
}
こんなコードを書くとエラーになりますよね。
Hoge.cppに
Hoge *Hoge::instance;
の1行が必要です。
エラーが出てstaticなメンバ変数が原因だということがわかっても、毎度のようにしばらく解決できないことがあるので、今度こそ忘れないようにとメモしておきます。