我有一个用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 ++,它可以看到结构和默认构造函数,但它看不到带参数的结构。我是否需要编写一个包装器才能传递参数?
答案 0 :(得分:1)
如果这是您的实际代码,则构造函数默认为private
。检查标题以确保构造函数位于public
部分:
public:
cppClass::cppClass(const char*)