2 Stimmen

c++ Compiler-Fehlerklasse hat kein Mitglied namens

Ich habe eine Klasse namens Edge und eine Klasse namens Vertex

in meiner Edge-Klasse gibt es einen Verweis auf einen Vertex namens Ziel. in Vertex sende ich in einem Rand und versuchen, das Ziel durch den Rand zu ändern, aber ich habe einen Compiler-Fehler der Klasse Edge hat kein Mitglied namens Ziel.

meine Edge.h ist

#include "Vertex.h"

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

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

   void print();

};

Der Fehler wird durch diesen Code in Vertex.cpp verursacht

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

Der genaue Fehler, wenn ich versuche, Vertex zu kompilieren, lautet

 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’

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X