Konsolenanwendung m. MFC -> header probs



  • Moin,
    ich habe eine Konsolenanwendung mit MFC und ATL, in der es 2 Klassen gibt,
    CHouse und CHousepos, jeweils in house.h/cpp und in housepos.h/cpp.
    So weit, so gut.
    Wenn ich nun in der house.h das mache:

    #pragma once
    
    #include "housepos.h"
    
    class CHouse
    {
    public:
    //....
    
    	CHousePos *p1;
    	CHousePos *p2;
    	CHousePos *p3;
    	CHousePos *p4;
    	CHousePos *p5;
    	CHousePos *act;
    };
    

    geht das ohne probs, aber das:

    #pragma once
    #include "House.h"
    
    class CHousePos
    {
    public:
    	CHousePos(int position, CHouse* owner);
    
    	bool isSimple(void);
    	bool setFlag(void);
    
    	bool operator&& (CHousePos& other);
    	int getPos(void);
    
    	bool hasSpace(void);
    
    protected:
    	CHouse* owner;
    	bool pos1, pos2;
    	int matrixPos;
    };
    

    geht nicht, er scheint die in house.h definierte klasse nicht zu kennen 😕 😞
    Jemand ne Ahnung, was ich falsch mache`?

    MfG und schon mal danke
    das_brot

    PS: once wird nicht gehiglightet 🙂



  • Füg mal im ersten Code unter dem Include Befehl

    class CHousePos;
    

    ein. Dann sollte es funktionieren. Stichwort: Vorwärtsdeklaration.



  • Du hast ein rekursives Include gebaut.

    Du darf nicht in Klasse A Klasse B includen und umgekehrt.
    An einer Stelle MUSST du mit class BlaBla arbeiten. 🙂



  • thx, wusste ich nicht.
    Habe schon mal an meiner Intelligenz gezweifelt bei so 'nem Fall, doch siehe da, es war nur Unwissen 🙂


Anmelden zum Antworten