#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'を定義しませんでした。非標準機能を使用する場合は、どのos/compiler/standardライブラリをターゲットにしているか教えてください。 'void main'も標準ではありません。 – user2079303