2012-03-07 15 views
1

CStringをキーに、CMapを値として持つCMapを作成しようとしています。明らかに次のものは動作しませんが、私はそれがどのように動作しているのかわかりません。別のCMapを値として保持するCMapを作成する

CMap<CString, LPCSTR, CMap<CString, LPCSTR, int, int>, CMap<CString, LPCSTR, int, int>> xyWhatEver; 

誰もがCMapを使ってこのようなデータ構造をC++で実装する方法を知っていますか?

+1

「CMap」はどのライブラリから来ますか? (私はMFCの疑いがありますが、私には分かりません)。質問に適切なタグを付けてください。 –

+0

私は、STLからデータ構造(おそらくunordered_map)を使用することをお勧めします。あなたのケースでは、tr1 :: unordered_mapまたはboostからのものです。 –

答えて

2

CMapにはコピーコンストラクタがありません。私はmfcの代わりにSTLクラスを使用することをお勧めします。もちろん、CMapをCMapに置き換えることはできますが、これには追加の割り当て/解放の手順が必要です。

typedef CMap<CString, LPCSTR, int, int> tInnerMap; 
CMap<CString, LPCSTR, tInnerMap*, tInnerMap*> map; 
関連する問題