读书人

【】标准库basic_string的派生类无法在

发布时间: 2012-03-09 21:42:54 作者: rapoo

【紧急求助】标准库basic_string的派生类无法在dll中使用
我从标准库basic_string派生了一个类,如下:

template <class _Elem, class _Traits, class _Ax>
class basic_string_ex
: public basic_string <_Elem, _Traits, _Ax>
...


在exe工程中使用没有问题。
在dll工程中使用编译时总报错,大意是basic_string的一个静态成员npos未定义。
当我显示定义npos时,又报错npos重定义。

不知这一问题该如何解决,谢谢大家。

[解决办法]
贴代码。
另外,从string派生不是个好主意。
[解决办法]
static const size_type npos = -1;
npos是basic_string的一个typedef,在头文件 <string> 中
[解决办法]
#include "iostream "


using namespace std;

template <class _Elem, class _Traits, class _Ax>
class basic_string_ex
: public basic_string <_Elem, _Traits, _Ax>
{

};

int main()
{
basic_string_ex <char, char_traits <char> , allocator <char> > a;

return 0;
}


可以啊,不过没在dll里试
[解决办法]
无法解决外部应用,那就是库没包含吧?
[解决办法]
DLL貌似不可以包含模板吧,知道的朋友说说看

读书人网 >C++

热点推荐