有人可以向我解释为什么Graph构造函数中的verticies.size()等于'4'但是在addEdge中再次调用verticies.size()等于0?程序在verticies [fromVertex] .addEdge(toVertex)崩溃,因为verticies的大小为0.
我确信这是我应该知道的,但我不会在哪里出错.
class Vertex {
public:
int value;
vector<int> adj;
bool isVisited = false;
Vertex(int _value)
{
value = _value;
}
void addEdge(int destination)
{
adj.push_back(destination);
}
};
class Graph
{
public:
int vertexCount; // No. of vertices
vector<Vertex> verticies;
Graph(int _vertexCount)
{
this->vertexCount = _vertexCount;
vector<Vertex> verticies;
for (size_t i = 0; i < _vertexCount; i++)
{
Vertex v = Vertex(i);
verticies.push_back(v);
}
cout << "verticies count " << verticies.size() << endl;
}
void addEdge(int fromVertex, int …Run Code Online (Sandbox Code Playgroud)