0

我有一本字典 myResult:

Dictionary<String^,array< Byte >^>^ myResult = gcnew Dictionary<String^,array< Byte >^>(); 

我宣布

array <Byte^>^ a;

然后我将 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 还不是很熟悉;

4

1 回答 1

0
Dictionary<String^,array< Byte >^>^
                          ^ Uppercase B

array <byte^>^ a;
       ^ Lowercase B

Byte^byte^命名不同的类型(实际上,虽然我不是 C++/CLI 专家,但我对后者的编译感到有些惊讶)。前者是一个跟踪句柄System::Byte。后者是一个unsigned char(显然编译器正在放弃帽子,我认为它这样做是因为它不是 CLI 类型,因此没有资格戴帽子)。

于 2012-07-09T23:13:07.060 回答