0

JSON形式の文字列を辞書に変換しようとしています。以下を参照してください。

using namespace System::Web::Script::Serialization;

...

String ^data = "{Name: 'sherlock', Problem: 'deserialization'}";
JavaScriptSerializer ^serializer = gcnew JavaScriptSerializer();
Dictionary<String^, Object^> obj = serializer->Deserialize<Dictionary<String^, Object^>>(data);

エラーが発生します。

class "System::Collections::Generic::Dictionary<System::String ^, System::Object ^>" has no suitable copy constructor

私は c# から来た c++/cli が初めてです。コピーコンストラクターとは何かを理解していると思いますが、この場合になぜコンストラクターが必要なのか、またはこのエラーを解決する方法がわかりません..

ありがとう

4

1 に答える 1

4

^Dictionary 参照自体の を忘れました。

変化する:

Dictionary<String^, Object^> obj = 
          serializer->Deserialize<Dictionary<String^, Object^>>(data);

に:

Dictionary<String^, Object^>^ obj = 
          serializer->Deserialize<Dictionary<String^, Object^>^>(data);

前と同様に^直前の 3 番目に注意してください。obj(data)

于 2013-08-17T19:53:45.733 に答える