C#看不到带参数的C ++构造函数

时间:2012-07-03 17:50:54

标签: c# c++ cross-language

我有一个用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 ++,它可以看到结构和默认构造函数,但它看不到带参数的结构。我是否需要编写一个包装器才能传递参数?

1 个答案:

答案 0 :(得分:1)

如果这是您的实际代码,则构造函数默认为private。检查标题以确保构造函数位于public部分:

public: 
   cppClass::cppClass(const char*)