Problem mit Kreuzverweisen
-
Hallo Leute!
Ich bin noch relativ neu bei C++ und ich habe folgendes Problem:
Ich habe eine Klasse und ein struct, die sich aufeinander beziehen.
Etwa so:struct Erstens { // ... Irgendwas ... Zweitens *zweitens; } class Zweitens { // ... Irgendwas ... Erstens *erstens; }Dem Compiler gefällt das nicht besonders, da für ihn in Erstens Zweitens noch nicht bekannt ist. Was soll ich tun? Bei Funktionen braucht man sie ja nur zuvor deklarieren, dann weiß der Compiler ja dass sie vorhanden sind. Aber wie mache ich das in diesem Fall?
Vielen Dank schonmal

-
Was du suchst, nennt sich "Forward Deklaration" und sieht etwa so aus:
class Zweitens;// <- das hier deklariert den Namen struct Erstens { // ... Irgendwas ... Zweitens *zweitens; }; class Zweitens { // ... Irgendwas ... Erstens *erstens; };(btw, ans Ende einer Klassendefinition gehört ein Semikolon, sanst bekommst du gleich den nächsten Fehler)
-
Hey super! Danke

Ja stimmt, die Semikola hab ich hier vergessen.