У меня возникла небольшая проблема с моей программой C++/CLI.Ошибка C2440 '=': невозможно преобразовать из 'cli :: array <Type> ^' to 'wchar_t'
У меня есть несколько Char
массивов, которые работают без проблем.
Header1:
ref class _CGuid{
static const int CIDGR=37;
public:
array<Char>^ cGuid;
array<Char>^ cUuid;
}
CPP1 -> contruktor:
cGuid = gcnew array<Char>(CIDGR);
некоторые функции:
_CGuid::Type(String^ tmpname,String^ tmpid)
{
pcName=tmpname;
cUuid=tmpid->ToCharArray();
}
Так что это отлично работает для меня без ошибок. Как никогда Это не работы:
Другое Заголовок:
ref class CStorage{
public:
array<String^>^ names;
array<Char>^ mac;
Другое contruktor
names = gcnew array<String^>(100);
mac = gcnew array<Char>(100);
некоторая функция 2:
names[k]=tname;
mac[k]=tmac->ToCharArray(); <-------- Error Line
k++;
Эта линия получает ошибку :
error C2440: '=' : cannot convert from
cli::array<Type> ^
towchar_t
with [ Type=wchar_t ]
There is no context in which this conversion is possible
Так что я действительно не знаю, в чем проблема.
Таким образом, вы пытаетесь установить одну позицию в ' mac' с целым массивом? Сообщение об ошибке имеет смысл, но чего вы пытаетесь достичь? –
Правильно отформатируйте исходный код, чтобы повысить удобочитаемость. –
Вы не можете сохранить адрес mac в Char. Не в массиве Char тоже, Char * не * эквивалентен байту в управляемом коде, который работает только на C.Перейдите в список «Список ^> ^', список массивов байтов. –