我有一本字典myResult:
Dictionary<String^,array< Byte >^>^ myResult = gcnew Dictionary<String^,array< Byte >^>();
我宣布
array <Byte^>^ a;
然后我添加了一个字典的键
myResult->Add("OVERVIEW",a);
我收到错误
error C2664: 'System::Collections::Generic::Dictionary<TKey,TValue>::Add' :
cannot convert parameter 2 from 'cli::array<Type> ^' to 'cli::array<Type> ^'
1> with
1> [
1> TKey=System::String ^,
1> TValue=cli::array<unsigned char> ^
1> ]
1> and
1> [
1> Type=System::Byte ^
1> ]
1> and
1> [
1> Type=unsigned char
1> ]
感谢任何帮助,因为我对c ++ / cli不太熟悉;
答案 0 :(得分:0)
Dictionary<String^,array< Byte >^>^
^ Uppercase B
array <byte^>^ a;
^ Lowercase B
Byte^
和byte^
命名不同的类型(实际上,我对后者编译感到有些惊讶,尽管我不是C ++ / CLI专家)。前者是System::Byte
的跟踪句柄。后者是unsigned char
(显然编译器正在放弃,我认为它是这样做的,因为它不是CLI类型,因此不适合戴帽子。)