次のように私は、2Dマップを定義している::: unordered_map
道路は単純であるunordered_map< string, unordered_map<string, Road*>* > matrix;
:
class Road {
public:
Road() : connected(0), weight(0) {}
bool connected;
int weight;
};
私はマップを通じてこのように反復処理しようとしましたコンパイルに失敗しました。
for (auto &i : matrix) {
for (unordered_map< string, unordered_map<string, Road*>* >::iterator iter1 = i.second->begin();
iter1 != i.second->end(); iter1++) {
}
}
私は私の行列はいつものN×Nである知っているので、私が行うことができます一つのことは
for (auto &i : matrix) {
for (auto &j : matrix) {
}
}
ですが、サイズを変化させたクリーンなアプローチがある場合、私は思っていました。
あなたの2番目の例は、あなたが思う通りのことをしません。 – tkausl
"コンパイルに失敗しました"。この詳細で有用な問題ステートメントのおかげで... –
'auto'型はイテレータではありません。 –