![]() |
1
2
在普通C++中,模板类方法仅在链接范围内实际使用时才被实例化。我怀疑C++/CLI实现可能是等价的——如果没有在C++程序集中使用,则不生成测试()的代码。 |
![]() |
2
-1
你的问题的答案其实很简单。编译混合程序集C++/CLI时,编译器遵循一些规则,以便在组件外导出本机函数并输出元数据。
其中之一是,除非明确指定,否则本机方法不会从程序集中公开。要显式指定要通过元数据公开的本机方法,请使用
另一个问题是模板函数不能从程序集中公开。所以在您的案例中,您不能公开模板类。 但在您的情况下,我几乎肯定您不需要模板类,而是一个通用类,这是绝对可以导出的。 为什么需要模板?您是否了解模板与常规模板之间的区别?一个是编译时单位,另一个是运行时。 试用使用
|
![]() |
TCD · 标准库非类型模板类是否显式实例化? 2 年前 |
![]() |
sovesti · 参数较少的模板函数中的演绎 2 年前 |
![]() |
KiraHoneybee · 具有构造函数参数的模板化类 3 年前 |
![]() |
Seymore Glass · 模板不工作的默认参数 3 年前 |
![]() |
Alexander Daum · 模板参数中对模板类型的引用 7 年前 |
![]() |
ledonter · 为什么注入的类名有时不被视为类模板中的模板名? 7 年前 |