2012-04-10 6 views
1

私のハッシュマップをvC++ 08のArrayListに追加したいと思います。私のコードは以下の通りです。ハッシュマップをC++のArrayListに追加する方法は?

typedef std::tr1::unordered_map< std::wstring, std::wstring > hashmap;  
      hashmap numbers; 
     ArrayList^ myAL = gcnew ArrayList; 

myAL->Add(numbers); // gives error... 

しかし、それは私がオブジェクトにキャストするために試みたが、成功しなかっ

error C2664: 'System::Collections::ArrayList::Add' : cannot convert parameter 1 from 'hashmap' to 'System::Object ^' 
1>  No user-defined-conversion operator available, or 
1>  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 

というエラーが発生します。誰も助けてくれるarraylistにhashmapを追加する?事前に

おかげで...

答えて

0

あなたが管理し、ネイティブ型は、そのように直接相互運用できませんので動作しません上記しようとしている操作。

ケニーカーの古典的なC++/CLIの記事Best Practices for Writing Efficient and Reliable Code with C++/CLIをお勧めします。あなたの具体的な相互運用シナリオをより詳細に把握することはできますが、あなたはネイティブオブジェクトへのポインタを管理オブジェクトに埋め込みますあなたのリスト構造に追加することができます。 Mr. KerrのAutoPtr class(上の記事で説明し、hereを更新)を使用する場合は、AutoPtrをメンバーとして含む管理対象クラスを作成して、ArrayListに追加することができます。

+0

回答ありがとうございます。プログラムを変更しました。そして何か別の方法を追加してください。 –

関連する問題