C++ Konflikt?!

M

matzeed7

Mitglied
Hallo,


da ich nicht so viel praktische Erfahrung im Umgang mit C++ habe, komme
ich auch nicht auf die Lösung meines Probs!

ich habe eine Datei BBG.h
Code:
#include"BB.h"
class BBG{
 BB* first;
 BB* last;
....

struct BBG_zeiger{
  BBG *p;
};

und eine Datei BB.h
class BB{
....
};

nun zu meinem Problem:
Wie kann ich in der Datei BB.h in der Klasse BB eine Methode mit dem Parameter BBG_zeiger bbg erzeugen? als in der Art
class BB{
....
void test(BBG_zeiger bbg);
};

ich bekomme immer eine Fehlermeldung. Auch durch ein #include"BBG.h" in der Datei BB.h ist es nicht moglich.

Wie kann ich nun mein Projekt anlegen/wie mache ich BBG_zeiger in beiden
Dateien bekannt?

Danke schon mal im Voraus!
Matze
 
BBG_zeiger was not declared in this scope
 
Zuletzt bearbeitet:
sorry,
das hatte ich schon da das eclipse ja automatisch macht!
 
BBG_zeiger was not declared in this scope

Klar! Du hast das Wort struct vergessen. So ist es richtig:

Code:
class BB{
....
void test([COLOR="Red"]struct[/COLOR] BBG_zeiger bbg);
};

BBG_zeiger ist nur der Bezeichner für die Struktur und ohne das Wort struct davor findet der Kompiler BBG_zeiger natürlich nicht, da es kein Datentyp wie int ist. Ein weiteres Beispiel findest du bei pronix.de.

Was du wahrscheinlich willst ist mit typedef einen neuen Datentyp deklarieren damit du nicht immer struct davor schreiben musst. Dafür gibt es auch Beispiele auf pronix.de.

Gruß,
Philip
 
Code:
class BB{
....
void test([COLOR="Red"]struct[/COLOR] BBG_zeiger bbg);
};

das funktioniert, aber wenn ich nach meiner struct Definition
typedef struct BBG_zeiger Z; schreibe und dann in noch die Methode test

Code:
class BB{
....
void test( Z bbg);
};

ändere kommt wieder der selbe Fehler. Ich kann aber auch die Struktur nich am anfang meiner Datei anlegen, da ich sondt einen Fehler bekomme, da die class BBG erst danach definiert wird. Ich habe aber auch schon versucht für jede class eine eigene Datei anzulegen aber das geht auch nicht? Ich bekomme die selben Fehlermeldungen?
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

sorry ich hätte typedef struct .... am Anfang der Datei schreiben müssen und nicht am Ende!

Jatzt scheint es zu funktionieren!

Gruss Matze
 
Zuletzt bearbeitet:

Ähnliche Themen

g++ kompilieren schlägt fehl

Ubuntu X / dbus problem

c++ syntax: iterator fuer struct in template Klasse

AirSnort unter Suse 10.3

Ausführbare Datei aus icon_switch.c

Zurück
Oben