0

学校の課題にシングルトンデザインパターンを実装しています。これは私のクラスヘッダーファイルです。

class Scheduler {
public:
    static Scheduler * instance();
    ~Scheduler();

private:
    Scheduler();
};

static Scheduler * _singleton = 0; // WARNING HERE

私の問題は、このエラーが発生し続けることです。

../Scheduler.h:60:20: warning: ‘_singleton’ defined but not used [-Wunused-variable]

また、コンパイルの警告なしで割り当てを送信する必要があります。この警告を取り除くにはどうすればよいですか?ヘッダーファイル自体で使用する必要が_singletonないので、どうしたらよいかわかりません。私はそれが愚かであることを知っていますが、それでも...

アイデア?

4

1 に答える 1

4

静的シングルトンインスタンスポインタはクラスメンバーである必要があります。現在、それは単なる無料のポインタです。

class Scheduler {
// as before
private:
    Scheduler();
    static Scheduler* _singleton; // declare it in the class
};

および実装ファイル内:

Scheduler * Scheduler::_singleton = 0;
于 2012-04-26T19:59:44.253 に答える