首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【】标准库basic_string的派生类无法在dll中使用

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

【紧急求助】标准库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貌似不可以包含模板吧,知道的朋友说说看

热点排行