我的 C++/CLI 程序有点问题。
我有几个Char
数组可以正常工作。
标题 1:
ref class _CGuid{
static const int CIDGR=37;
public:
array<Char>^ cGuid;
array<Char>^ cUuid;
}
Cpp1 -> 构造器:
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;
其他承包商
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
所以我真的不知道这里有什么问题。
最佳答案
实际上,错误说明了一切。 ToCharArray
返回 array<Char>
,您尝试将其分配给单个 Char
(= wchar_t
) 当访问 mac[k]
时.
您可能是想分配给 mac
相反?
mac = tmac->ToCharArray();
如果是这样,那么这一行是多余的:
mac = gcnew array<Char>(100);
此处为mac
分配内存当你重新分配 mac
时你会扔掉它.
关于c++ - 错误 C2440 '=' : cannot convert from 'cli::array<Type> ^' to 'wchar_t' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654154/