У меня есть вектор вершин, и я хочу установить для vertice.setVisit значение false или 0 изначально.Для этого я определил некоторые методы получения и установки, но получаю ошибку типа.Код приведен ниже:
//Vector:
std::vector<project3::Vertex<VertexType, EdgeType>*> Vertice1;
//Class containing methods:
template <class VertexType, class EdgeType> class Vertex{
protected:
//std::vector<std::pair<int, EdgeType>> VertexList;
VertexType vertice;
EdgeType edge;
int num;
int mark;
//int status=0;
public:
void setNum(int){ this.num = num; }
int getNum() { return num; }
int getMark(){ return mark; }
void setVisit(int) { this.mark = mark; }
};
В некоторых функциях я присваиваю значения следующим образом:
for(int i=0; i<g1.Vertice1.size(); i++)
{
g1.Vertice1.at(i)->setNum(0);
g1.Vertice1.at(i)->setVisit(0);
}
Ниже приведена ошибка, которую я получаю при компиляции кода дляthis.mark = mark "and for" this.num = num "в определении функции в классе.
Error: left of '.mark' must have class/struct/union
Error: left of '.num' must have class/struct/union
Разве это не правильный способ присвоения значений через методы получения и установки?