if ステートメントで map.find(key) および map.end() 関数を使用しています。
if( p_Repos->returnTypeMap().find(tc[0]) != p_Repos->returnTypeMap().end() )
しかし、それは機能せず、"Expression: list iterators incompatible" という Microsoft Visual C++ ランタイム ライブラリ エラーが表示されます。tc[0] は単なる文字列で、マップ内のキーの位置は文字列です。
しかし、互換性があるはずですよね?
どんな助けでも大歓迎です。
ありがとう、トム
編集:ここにある回答に基づいて: Finding value in unordered_map、私はこれがうまくいくはずだと信じています。
2 番目の編集:
returnTypeMap() 関数は次のとおりです。
std::unordered_map <std::string, std::pair<std::string, std::string>> returnTypeMap()
{
return typeTable;
}
これが私のマップの定義です:
std::unordered_map <std::string, std::pair<std::string, std::string>> typeTable;