遇到好幾個人說CMap在用CString做key類型時有問題,說用int和DWord就可以,用CString就不行。因此很多人推薦使用MFC中的CMapStringToPtr之類。
看下面的代碼:
//.h
CMap<CString, LPCTSTR, int, int> typeMap;
//.cpp
typeMap.SetAt(_T("ONE"),1);
typeMap.SetAt(_T("TWO"),2);
int nValue = 0;
BOOL ret = typeMap.Lookup(_T("ONE"), nValue);
ret = typeMap.Lookup(_T("THREE"), nValue);
ret = typeMap.Lookup(_T("TWO"), nValue);
我的代碼運行的很好,我覺得關鍵是ARG_KEY要選LPCTSTR