В классе ошибок компилятора С++ нет имени членаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 В классе ошибок компилятора С++ нет имени члена

Сообщение Anonymous »

У меня есть класс Edge и класс Vertex

В моем классе Edge есть ссылка на вершину с именем target. в Vertex я отправляю Edge и пытаюсь изменить цель через Edge, но у меня возникает ошибка компилятора: у класса Edge нет члена с именем target.

my Edge.h это

#include "Vertex.h"

class Edge
{
public:
Edge *data;
Edge *next;
Vertex *target;

Edge();
Edge(Edge *x);
Edge(Vertex *x);

void print();

};


ошибка вызвана этим кодом в Vertex.cpp

Vertex::Vertex(Edge *x)
{
name = x->target->name;
next = x->target->next;
mark = x->target->mark;
previous = NULL;
next = NULL;
}


Точная ошибка при попытке скомпилировать Vertex:

g++ -g -I. -c -o Vertex.o Vertex.cpp
In file included from Vertex.h:3,
from Vertex.cpp:3:
Edge.h:10: error: ISO C++ forbids declaration of ‘Vertex’ with no type
Edge.h:10: error: expected ‘;’ before ‘*’ token
Edge.h:14: error: expected ‘)’ before ‘*’ token
Vertex.cpp: In constructor ‘Vertex::Vertex(Edge*)’:
Vertex.cpp:26: error: ‘class Edge’ has no member named ‘target’
Vertex.cpp:27: error: ‘class Edge’ has no member named ‘target’
Vertex.cpp:28: error: ‘class Edge’ has no member named ‘target’


Подробнее здесь: https://stackoverflow.com/questions/436 ... mber-named
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»