C# не может видеть конструктор C++, который принимает аргументы

У меня есть класс, созданный в 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 ответ

Решение

Если это ваш реальный код, то конструктор private по умолчанию. Проверьте заголовок, чтобы убедиться, что конструктор находится в public раздел:

public: 
   cppClass::cppClass(const char*)
Другие вопросы по тегам