runett Skrevet 15. mars 2007 Skrevet 15. mars 2007 Jeg har to klasser, som hver har en funksjon (get())som har den andre klassen som returverdi. Det vil si at begge .h filene må inkludere hverandre på et vis. Jeg klarer ikke kompilere denne (får build error). Noen som har en ide om hvordan dette kan løses? Om det i det hele tatt er mulig å få til... -------------------------------- filen c1.h: #ifndef C1_H #define C1_H #include "c2.h" class C1 { public: C1(); ~C1(); C2* get(); }; #endif // C1_H -------------------------------- filen c1.h: #ifndef C2_H #define C2_H #include "c1.h" class C2 { public: C2(); ~C2(); C1* get(); }; #endif // C2_H -------------------------------- filen main.cpp: #include <cstdlib> #include <iostream> #include "c1.h" #include "c2.h" using namespace std; int main(int argc, char *argv[]) { C1 a; C2 b; }
Dead_Rabbit Skrevet 15. mars 2007 Skrevet 15. mars 2007 (endret) Ha en forward declaration i headerfilene: class C2; // forward declaration class C1{ //... }; Endret 15. mars 2007 av staalezh
runett Skrevet 15. mars 2007 Forfatter Skrevet 15. mars 2007 Ha en forward declaration i headerfilene: class C2; // forward declaration class C1{ //... }; 8160551[/snapback] Takk, det fungerte :-)
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå