Я знаю, что отладка кода других людей может расстраивать, но я действительно хочу узнать, что не так с моей. Это неполный график с множеством функций, которые еще не реализованы. Я дошел до этой стадии, и я уже застрял.Ошибка при кодировании класса графа в C++
Это график смежного списка. Он имеет вершины и ребра. У меня ошибка, которую я не могу понять. Можете ли вы объяснить, как произошла ошибка? Ошибка
C:\Users\jialee\Documents\CodeBlocks\ShortestPath\Graph.cpp: In constructor 'Edge::Edge(Vertex, Weight)': C:\Users\jialee\Documents\CodeBlocks\ShortestPath\Graph.cpp:34:33: error: no matching function for call to 'Vertex::Vertex()'
И код
#include <forward_list>
#include <string>
using namespace std;
const int MAX_SIZE = 10000;
typedef int Weight;
class Vertex {
public:
Vertex(string name, int num);
string city_name;
int city_num;
};
class Edge{
public:
Edge(Vertex v, Weight w);
Vertex associated_vertex;
Weight weight;
};
class Graph{
public:
Graph(int size);
};
Vertex::Vertex(string name, int num){
city_name = name;
city_num = num;
}
Edge::Edge(Vertex v, Weight cost){
associated_vertex = v;
weight = cost;
}
Graph::Graph(int size = MAX_SIZE){
forward_list<Edge> G[size];
}
я узнал о списке инициализатора некоторого времени назад, но я совершенно забыл о многих C++ синтаксис. Благодарю. Кстати, мне жаль, что я не смог бы проголосовать за ваш ответ, но я не мог, поскольку я слишком новичок. Мое голосование поможет мне голосовать за других людей в будущем. Еще раз спасибо. – VequalsIR