1

我正在尝试返回一个Vertex &,这是代码:

Vertex& Graph::getVertex(std::string v) {         // gets the vertex 
     for (std::vector<Vertex>::iterator it = vertices.begin(); it != vertices.end(); it++) {
        if ((it->getName()).compare(v) == 0)
          return it;  // if strings are the same return vertex
     }
     exit(1);
}

问题是它getVertex被标记为不兼容,并且it在返回中被标记为类型的引用Vertex &(非 const 限定)不能用类型的值初始化std::vector......我将如何修复这些错误?

4

1 回答 1

7

您正在尝试返回iterator,而不是 iterator 指向的内容。所以你需要返回*it

于 2013-09-02T07:06:06.420 回答