我有一个用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/