C++ 如何从DLL导出模板?
我可以从DLL导出模板吗C++ 如何从DLL导出模板?,c++,templates,dll,C++,Templates,Dll,我可以从DLL导出模板吗 template <class T1,class T2) T1 Create(T2 parameter) { T1 retvalue=new T1(); retvalue.process(parameter); // do some other work return T1; } 我想从DLL导出这样的函数 template <class T1,class T2) T1 Create(T2 parame
template <class T1,class T2)
T1 Create(T2 parameter)
{
T1 retvalue=new T1();
retvalue.process(parameter);
// do some other work
return T1;
}
我想从DLL导出这样的函数
template <class T1,class T2)
T1 Create(T2 parameter)
{
T1 retvalue=new T1();
retvalue.process(parameter);
// do some other work
return T1;
}
template无法从DLL导出模板。插入模板后,编译器需要能够查看所有源代码。无法从DLL导出模板。输入模板后,编译器需要能够查看所有源代码。谢谢。是否有其他方法可以做到这一点?在头文件中为模板提供源代码。谢谢。你能详细说明一下吗!我不明白。当我创建DLL时,我没有T1的源代码,但我知道它是从一个类(比如MyT1)派生的。当你创建DLL时,你根本没有任何理由实例化模板,因此DLL中没有任何东西可导出。下一个用户将这样做,他将需要模板声明来完成这项工作。只有当您提供实际的特定类型时,编译器才需要知道T1是什么。这发生在我们假定的DLL之外。将模板放入头文件并发送。谢谢。是否有其他方法可以做到这一点?在头文件中为模板提供源代码。谢谢。你能详细说明一下吗!我不明白。当我创建DLL时,我没有T1的源代码,但我知道它是从一个类(比如MyT1)派生的。当你创建DLL时,你根本没有任何理由实例化模板,因此DLL中没有任何东西可导出。下一个用户将这样做,他将需要模板声明来完成这项工作。只有当您提供实际的特定类型时,编译器才需要知道T1是什么。这发生在我们假定的DLL之外。将模板放在头文件中并发送该文件。