C++: undefined reference to vtable
2012-11-29 17:14
411 查看
单件模式如果按方法一写,所有用到单件模式的类声明中不允许再次定义构造和析构函数,但是类实现中必须实现构造和析构函数。如果不实现析构函数,就会报“undefined reference to 'vtable for classname'”错误。
单件模式一:
#define PATTERN_SINGLETON_DECLARE(classname) \
private: \
classname(); \
public: \
static classname * instance(); \
virtual ~classname();
#define PATTERN_SINGLETON_IMPLEMENT(classname) \
classname * classname::instance() \
{ \
static classname * _instance = NULL; \
if( NULL == _instance) \
{ \
_instance = new classname; \
} \
return _instance; \
}
单件模式二:
#define PATTERN_SINGLETON_DECLARE(classname) \
static classname * instance();
#define PATTERN_SINGLETON_IMPLEMENT(classname) \
classname * classname::instance() \
{ \
static classname * _instance = NULL; \
if( NULL == _instance) \
{ \
_instance = new classname; \
} \
return _instance; \
}
其他出现这个错误原因类似,虚函数的问题 http://hi.baidu.com/wind_stay/item/6c1e540a20812e163b53ee13
单件模式一:
#define PATTERN_SINGLETON_DECLARE(classname) \
private: \
classname(); \
public: \
static classname * instance(); \
virtual ~classname();
#define PATTERN_SINGLETON_IMPLEMENT(classname) \
classname * classname::instance() \
{ \
static classname * _instance = NULL; \
if( NULL == _instance) \
{ \
_instance = new classname; \
} \
return _instance; \
}
单件模式二:
#define PATTERN_SINGLETON_DECLARE(classname) \
static classname * instance();
#define PATTERN_SINGLETON_IMPLEMENT(classname) \
classname * classname::instance() \
{ \
static classname * _instance = NULL; \
if( NULL == _instance) \
{ \
_instance = new classname; \
} \
return _instance; \
}
其他出现这个错误原因类似,虚函数的问题 http://hi.baidu.com/wind_stay/item/6c1e540a20812e163b53ee13
相关文章推荐
- C++:undefined reference to vtable 原因与解决办法 [转]
- [C++] Undefined reference to vtable
- C++ 编译出现undefined reference to `vtable for Class 和 undefined reference to typeinfo for Class
- [C++] Undefined reference to vtable
- C++:undefined reference to vtable 原因与解决办法 [转]
- C++ link error : undefined reference to 'vtable for ...'
- C++:undefined reference to vtable 原因与解决办法[转]
- C++ undefined reference to `vtable for
- C++:undefined reference to vtable 原因与解决办法 [转]
- QT 编译的时候出现 undefined reference to `vtable for XXX '
- Qt 出现“undefined reference to `vtable for”原因总结
- codeblocks +cygwin 开发c++及undefined reference to " "
- Qt出现“undefined reference to vtable for”原因总结
- 再次遇到 undefined reference to `vtable for XXXX'
- undefined reference to `vtable for __cxxabiv1:
- Qt中关于undefined reference to `vtable for classname`的问题
- Qt 出现“undefined reference to `vtable for”原因总结
- Qt 出现“undefined reference to `vtable for”原因总结
- Qt出现“undefined reference to `vtable for”原因总结
- Qt 出现“undefined reference to `vtable for”原因总结