读书人

单件构造有关问题?

发布时间: 2012-03-22 17:43:57 作者: rapoo

单件构造问题???
class single
{
public:
single* GetInst( )
{
return m_pObjInst = new single;
}
protected:
single( );
single( const single& );
single& operator = ( const single& );
private:
static single* m_pObjInst;
};

single* single::m_pObjInst = new single;

会出现如下的错误提示:
正在链接...
single.obj : error LNK2019: 无法解析的外部符号 "protected: __thiscall single::single(void) " (??0single@@IAE@XZ) ,该符号在函数 _$E1 中被引用

这是什么原因阿????????

[解决办法]
你的构造函数有声明无定义
另外,这个程序问题很多的……
[解决办法]
构造函数只有声明,没有函数体,所以链接错误。。。
[解决办法]
- -
[解决办法]
你要使用默认构造函数,就要有实现,没有操作就置空
single(){};
[解决办法]
nkgd(长歌天下)的写法仍然不是线程安全的~多线程环境下可能会出问题~
[解决办法]
to lf8289()

==========================
class single
{
public:
single* GetInst( )
{
return m_pObjInst;
}
protected:
single( );
single( const single& );
single& operator = ( const single& );
private:
static single* m_pObjInst;
};

single* single::m_pObjInst = new single;

这样子就可以实现了,呵呵,写错一条语句。
==========================
你这样能实现?

single* single::m_pObjInst = new single;//这里需要构造函数,但构造函数没有定义,出错

读书人网 >C++

热点推荐