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*)