我在学校作业中实现单例设计模式,这是我的类头文件:
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
,所以我不知道该怎么做。我知道这很愚蠢,但仍然......
想法?
答案 0 :(得分:4)
您的静态单例实例指针应该是类成员。目前它只是一个免费指针。
class Scheduler {
// as before
private:
Scheduler();
static Scheduler* _singleton; // declare it in the class
};
并在实施文件中:
Scheduler * Scheduler::_singleton = 0;