Vertex
ベクターから型のオブジェクトを返そうとしています。イテレータしか使えません。逆参照されたイテレータを返すと、私が望むことはできますか? より正確にv2
は、私が返すのポインタに初期化したいVertex
:つまり:
Vertex* v2;
v2 = &(p_graph->getVertex(vert2));
そのためにはgetVertex()
、a を返すto を使用する必要があります。Vertex
先頭に & を追加してポインターを作成し、それを に割り当てますv2
。getVertex()
機能は次のとおりです。
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);
}
しかし、それを割り当てることができないため、コードのこの部分のどこかにエラーがあり、数時間探していました。