- 无用变量警告

时间:2012-04-26 19:56:55

标签: c++ warnings

我在学校作业中实现单例设计模式,这是我的类头文件:

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,所以我不知道该怎么做。我知道这很愚蠢,但仍然......

想法?

1 个答案:

答案 0 :(得分:4)

您的静态单例实例指针应该是类成员。目前它只是一个免费指针。

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

并在实施文件中:

Scheduler * Scheduler::_singleton = 0;