のために、私はタイプ定義されている:私はキーを使用してリストにアクセスしようとするとんが実行可能なオーバーロードされた演算子はありません[]型の
string v = "A12";
::私は鍵を持って
typedef unordered_map<string, list<string>> Graph;
を
for (auto w = g[v].begin(); w != g[v].end(); w++)
{
...
}
gがタイプGraph
の場合、エラーが発生します。
No viable overloaded operator[] for type 'const Graph'
この問題を解決するにはどうすればよいですか?
'std :: vector'を代わりに使用してください。 'std :: list'は任意のinexedアクセスを提供しません。 –
@πάνταῥεῖリスト上でインデックス演算子を使用しようとしていません。マップ上で使用しています。 – Bob
'g'は使用しているコンテキストで' const'です。それを 'const'にしないでください。 C++ 11以降を使用している場合は、インデックス演算子の代わりに 'at'を使用してください。 – AndyG