4

私はstd::mapを使い始めたばかりで、最近使い始めました。

これらのマッピングの 1 つでコンパイルの問題に直面しています。

CStringカスタム構造があり、その構造タイプのオブジェクトを使用して のマッピングを作成しようとしています。

残念ながら、私は問題に直面しています

Error 3 error C2664: 'std::pair<_Ty1,_Ty2>::pair(const std::pair<_Ty1,_Ty2> &)' : cannot convert parameter 1 from 'ItemInfo *' to 'const std::pair<_Ty1,_Ty2> &'

ItemInfoを使用してマッピングを定義しようとしている構造ですCString

これは私がマッピングを定義する方法です..

   struct ItemInfo
   {<some code>}

   class XXXX
   {
      std::map<CString, ItemInfo> myMap;
   }

これを正確に解決する方法、または何を見なければならないかわかりません。

このエラーが何であるか、またどのように解決できるか教えていただければ幸いです。

編集

insert()OK - よく検索しましたが、関数にエラーが表示されませんでした。これは私が使用するものです:

mAlarmListMpa.insert(tempIterator /*the iterator over the map */, std::pair<CString, ItemInfo>(tagname , info));

出力からの編集 ビット詳細情報:

`

c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory(208): エラー C2664: 'std::pair<_Ty1,_Ty2>::pair(const std::pair<_Ty1,_Ty2> &)' : パラメーター 1 を 'ItemInfo' から 'const std::pair<_Ty1,_Ty2> &' 1> に変換できません 1> [ 1> _Ty1=const CString, 1> _Ty2=ItemInfo 1> ] 1> 理由: 1> [ 1> _Ty1=const CString, 1> _Ty2=ItemInfo 1> ] 1> では、'ItemInfo' から 'const std::pair<_Ty1,_Ty2>' 1> に変換できません。ユーザー定義の変換演算子はありませんこの変換を実行できる演算子が利用可能であるか、または演算子を呼び出すことができません `

4

1 に答える 1

4

あなたが私たちに見せていないいくつかのコードはItemInfo、おそらくstd::pair<CString, ItemInfo>. 完全なエラー メッセージには、それを実行しているコード行が表示されます。

于 2013-10-21T12:29:49.973 に答える