次のコードは機能せず、次のエラーが発生します。
タイプ 'const comparer' のオブジェクトへの呼び出しに一致する関数がありません
と
タイプ 'value_compare' (別名 'std::_ 1:: _map_value_compare, int, comparer, true>') のオブジェクトへの呼び出しがあいまいです
コードは次のとおりです。
struct comparer
{
bool operator()(const std::string x, const std::string y)
{
return x.compare(y)<0;
}
};
int main(int argc, char **argv)
{
vector< map<string,int,comparer> > valMapVect;
map<string,int,comparer> valMap;
valMapVect.push_back(valMap);
}
Xcode 5.x (Mac など) でコンパイルされています。
誰かが何が間違っているのか考えていますか? Linuxでコンパイルしていたときは、少し前に動作していたと思います。出来ますか?