-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 回答