-2

コードに奇妙なバグがあり、電話をかけるとクラッシュするよう dijkstra(cont)です。「cont」は、map<string, poz> cont;poz が自分のクラスであり、関数がvoid dijkstra(map<string, poz> cont). コンテナを参照などとして渡そうとしましたが、効果はありませんでした。

4

1 に答える 1

1

コンテナーを値で渡します。つまり、渡されたときにコピーを作成することになります。イテレータは、生成元と同じコンテナを指す必要があります。そうしないと、「互換性がありません」というエラーが発生します。

代わりに参照渡しを試してください:

void dijkstra(map<string, poz> & cont)
于 2013-05-15T17:19:09.767 に答える