我有两个dll都声明模板类型,我们称之为A. 如果A的声明足够复杂,则发生typeid(A).name()的结果是 是不同的当在函数中调用两个不同的 dll时。不同dll的typeid结果
例如:
DLL1:
struct MyType: public A<TEMPLATE_LIST_OF_A>{}
void f(){
std::string name1 = typeid(A).name();
}
DLL2:
struct MyType: public A<TEMPLATE_LIST_OF_A>{}
void f(){
std::string name2 = typeid(A).name();
}
例如姓名1可能是这样的: “??? ???的MyType等” 而NAME2可能是“??? A TEMPLATE_LIST_OF_A等”。
这实际上对我来说很有意义,但是有一种方法,前提是所用的名称是 以保证name1 == name2?
感谢, 抢
谢谢你,这只是我害怕的最坏情况! – rob 2010-06-25 15:30:37