0

Vertexベクターから型のオブジェクトを返そうとしています。イテレータしか使えません。逆参照されたイテレータを返すと、私が望むことはできますか? より正確にv2は、私が返すのポインタに初期化したいVertex:つまり:

Vertex* v2;
v2 = &(p_graph->getVertex(vert2));

そのためにはgetVertex()、a を返すto を使用する必要があります。Vertex先頭に & を追加してポインターを作成し、それを に割り当てますv2getVertex()機能は次のとおりです。

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);
}

しかし、それを割り当てることができないため、コードのこの部分のどこかにエラーがあり、数時間探していました。

4

1 に答える 1