【发布时间】:2018-04-19 09:52:18
【问题描述】:
嘿,我正在尝试编写 BFS 算法。我的图形类看起来像这样。
class Graph {
struct Vertice{
int ID;
int distance;
enum color{ WHITE, GREY, BLACK };
Vertice* parent;
Vertice(int n) :ID(n), distance(0), color(WHITE), parent(0){};
};
public:
Graph(int n) : adjList(n) {
}
void add_edge(int u, int v) {
adjList[u - 1].insert(adjList[u].begin(),Vertice(v));
adjList[v - 1].insert(adjList[v - 1].begin(), Vertice(u));
}
vector<int> shortest_reach(int start) {
}
vector<list<Vertice>> adjList;
};
在 struct Vertice 的构造函数的初始化列表中,我收到以下错误 color 不是类 Graph::Vertice 的非静态数据成员或基类。 我尽可能多地用谷歌搜索,但没有找到类似的东西。
【问题讨论】:
-
color是类型名,需要声明该类型的成员字段,
标签: c++ oop breadth-first-search non-static