我有兩個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