2013-12-19 39 views
1

我可以從DLL中導出模板嗎?如何從DLL導出模板?

我想從DLL中導出這樣的函數嗎?

template <class T1,class T2) 
T1 Create(T2 parameter) 
{ 
     T1 retvalue=new T1(); 
     retvalue.process(parameter); 
     // do some other work 
     return T1; 
} 

我可以這樣做嗎?

如果否,是否有其他方法可以做到這一點?我的意思是從用戶定義的類型創建一個對象?

回答

5

無法從DLL中導出模板。當模板被模仿時,編譯器需要能夠看到所有的源代碼。

+0

謝謝。有沒有其他方法可以做到這一點? – mans

+0

將源代碼提供給頭文件中的模板。 –

+0

謝謝。你能否詳細說明一下!我無法理解。當我創建我的DLL時,我沒有T1的源代碼,但我知道它是從類MyT1派生的。 – mans