#include<iostream>
#include<map>
using namesapce std;
void main()
{
map<const TCHAR*, int> Map;
Map.insert(make_pare(L"DOG1",1));
Map.insert(make_pare(L"DOG2",2));
TCHAR szTem[128];
wsprintf(szTem,L"DOG%d",1);
map<const TCHAR*, int>::iterator iter = Map.find(szTem);
cout << iter->second << endl;
}
就像這種情況一樣,我找不到使用TCHAR []的TCHAR * Keyvalue。 爲什麼我不能這樣做,我怎麼能找到指針字符串Keyvalue使用包含整數公式的字符串?我無法找到使用TCHAR []的地圖容器TCHAR *的Keyvalue嗎?
因爲沒有爲TCHAR *定義比較運算符'<'來取消引用指針和比較字符串值,所以它會比較指針地址值不正確。你需要定義比較器或使用'std :: string'是否有一個原因需要在這裏使用'TCHAR'? – EdChum
你沒有定義'TCHAR'。如果你使用非標準功能,你應該告訴我們你的目標是哪個操作系統/編譯器/標準庫。 'void main'也不是標準的。 – user2079303