【发布时间】:2014-03-27 15:29:59
【问题描述】:
试图访问下面的成员变量s,导致如下错误:
错误:“cl::s {aka singleton}”不是“cl”的基础
class singleton
{
public:
static singleton* getInstance()
{
static singleton* ptr{nullptr};
if(nullptr==ptr)
{
ptr=new singleton;
}
return ptr;
}
private:
int m_var;
};
class cl
{
public:
typedef singleton s;
};
int main()
{
cl* c;
c->s::getInstance();
}
我没想到会出现这种错误。我做错了什么?
【问题讨论】:
-
可以说你做错的主要事情是首先使用单例。
-
这是一个综合示例。这不是我写的代码,而是我必须使用的代码。
标签: c++ c++11 singleton typedef