Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
AFAIK#pragma make_public仅支持本机非模板类型。
#pragma make_public
但是,还有其他方法可以将模板类型设为公开吗?
不,但请阅读此处了解一些解决方法:
编译器错误 C2158 的最佳解决方法:make_public 不支持本机模板类型
http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/b43cca63-b0bf-451e-b8fe-74e9c618b8c4/
模板没有外部链接。不在本机 C++ 中,也不在 C++/CLI 中。你用同样的方法解决它,把它们放在一个 .h 头文件中,然后在你想使用模板的任何源文件中#include 。它们当然不适用于任何其他不是用 C++/CLI 编写的托管代码。
支持C++/CLI 中的generic关键字,托管代码中的泛型确实具有外部链接的等价物。