C++ cli 如何从C++;通过C+连接到C+/CLI 我想把C++库暴露给C语言应用程序,我决定采用C++/CLI包装器方法代替P/UnjKE。我现在面临的问题是如何将泛型中C++中的模板类暴露到C语言应用程序中。 在C++方面,我有: template <typename T> class Someclass; 模板类Someclass;

C++ cli 如何从C++;通过C+连接到C+/CLI 我想把C++库暴露给C语言应用程序,我决定采用C++/CLI包装器方法代替P/UnjKE。我现在面临的问题是如何将泛型中C++中的模板类暴露到C语言应用程序中。 在C++方面,我有: template <typename T> class Someclass; 模板类Someclass;,c++-cli,C++ Cli,我的目标是能够向C#app公开以下类型 class-Someclass{} 所以现在的问题是我的C++/CLI包装应该是什么样子。我尝试了这种简单的方法,并在C++/CLI中创建了一个模板类型,但很自然地,我无法用泛型参数在C#中实例化该类。如果我把类暴露为泛型类,我就不能把它传递给C++。 免责声明:< /强>我是C++新手,请温柔: 我熟悉泛型和模板之间的区别,因此不需要解释它们。我有一种坏的感觉,我想要的是不可行的,但是因为我对C++比较陌生,所以我希望我能以某种方式实现它。 AFA

我的目标是能够向C#app公开以下类型

class-Someclass{}
所以现在的问题是我的C++/CLI包装应该是什么样子。我尝试了这种简单的方法,并在C++/CLI中创建了一个模板类型,但很自然地,我无法用泛型参数在C#中实例化该类。如果我把类暴露为泛型类,我就不能把它传递给C++。

<强>免责声明:< /强>我是C++新手,请温柔:


我熟悉泛型和模板之间的区别,因此不需要解释它们。我有一种坏的感觉,我想要的是不可行的,但是因为我对C++比较陌生,所以我希望我能以某种方式实现它。

AFAIK:你必须写一个C++通用的。


我不知道C应用程序如何理解编译时计算的模板,因此C应用程序不会在DLL中看到模板。

所有模板类型参数必须在链接时已知。简而言之,在您想要支持的所有T上都有一个巨大的开关声明,这是不可能的。
class Someclass<T> {}