我有一个用C#创建的类,我想引用一个已创建的C ++类。当我尝试在C#中创建C ++类的实例时,它可以看到默认的构造函数,但是看不到带有参数的构造函数。

C ++ cppClass代码:

cppClass:: cppClass(const char* charArray)


C#代码:

cppClass temp = new cppClass(); // <-- This works.
cppClass temp = new cppClass("Take 2"); // <-- This does not work.


当我使用第二个代码时,得到cppClass does not contain a constructor that takes 1 argument

我已经建立了从C#项目到C ++的引用,它可以看到结构和默认构造函数,但是看不到带有参数的引用。我是否需要编写包装程序才能传递参数?

最佳答案

如果那是您的实际代码,则默认情况下构造函数为private。检查标题以确保构造函数在public部分中:

public:
   cppClass::cppClass(const char*)

关于c# - C#看不到带有参数的C++构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11316412/

10-11 17:04