我有一个图表类:
#ifndef GRAPH_H
#define GRAPH_H
#include<list>
#include<iostream>
#include "global.h"
class Graph_{
std::list<Vertex> vertices;
int vcount;
int ecount;
public:
void insert_vertex(Vertex vert);
int routesearch(Graph_ *passed, Vertex *vert, double distance, double curdistance, double safety, double minsafe, int startID);
};
#endif
然后在我的主要版本中,我尝试访问我声明的图形中的顶点列表,它给了我一个错误:8智能感知:成员“图_ ::顶点”是不可访问的。不知道该怎么做,因为它适用于我所做的其他结构,除了我制作的类外,我做的像Vertex。
#include "graph.h"
int main(){
Vertex dumb;
Graph_ map;
map.vertices.push_back(dumb);
}
答案 0 :(得分:2)
它适用于我制作的所有其他结构
struct
具有public
默认访问级别。 class
没有。如果您想要访问该成员,请成员public
:
class Graph_{
//these two are private, because a class has private access level by default
int vcount;
int ecount;
public: // <<<--- public here
std::list<Vertex> vertices;
public:
void insert_vertex(Vertex vert);
int routesearch(Graph_ *passed, Vertex *vert, double distance, double curdistance, double safety, double minsafe, int startID);
};