runett Skrevet 15. mars 2007 Del 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; } Lenke til kommentar
Dead_Rabbit Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 (endret) Ha en forward declaration i headerfilene: class C2; // forward declaration class C1{ //... }; Endret 15. mars 2007 av staalezh Lenke til kommentar
runett Skrevet 15. mars 2007 Forfatter Del Skrevet 15. mars 2007 Ha en forward declaration i headerfilene: class C2; // forward declaration class C1{ //... }; 8160551[/snapback] Takk, det fungerte :-) Lenke til kommentar
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å