创建一个CMap,它将另一个CMap保存为值

时间:2012-03-07 15:10:37

标签: c++ collections mfc

我正在尝试创建一个CMap,其中CString作为键,CMap作为值。显然以下是行不通的,但我不知道它是如何工作的。

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

任何人都知道如何使用CMap在c ++中实现这样的数据结构?

1 个答案:

答案 0 :(得分:2)

CMap没有复制构造函数。我建议使用STL类而不是mfc。当然,您可以将CMap替换为CMap *,但这需要额外的分配/释放步骤。

typedef CMap<CString, LPCSTR, int, int> tInnerMap;
CMap<CString, LPCSTR, tInnerMap*, tInnerMap*> map;