[gelöst]Konvertierungsproblem
-
hallo zusammen,
ich habe folgendes programmiert:
die FunktionIGameState* CGameStateFactory::Create(CGameStateFactory::eGameState eGS, GameManager* pGameManager) { switch(eGS) { case GS_GAME: return new CGSGame(pGameManager); } return 0; }in CGSGame.h
#ifndef GSGAME_H #define GSGAME_H //----------------------------------------------------------------- #include "IGameState.h" //----------------------------------------------------------------- class CGSGame : IGameState { public: CGSGame(CGameManager* pGameManager); ... }; #endifund in CGSGame.cpp
#include "GSGame.h" //------------------------------------------------------------------ CGSGame::CGSGame(CGameManager* pGameManager) : IGameState(pGameManager) { } //------------------------------------------------------------------ich bekomme aber immer diesen Fehler geliefert:
c:\dokumente und einstellungen\thomas\eigene dateien\c++\matt´s tutorial\teil 2\teil 2\game\gamestatefactory.cpp(10) : error C2243: 'Typumwandlung': Konvertierung von 'CGSGame *' zu 'IGameState *' ist bereits vorhanden, aber es kann nicht darauf zugegriffen werden.den Code habe ich aus einem Tutorial abgeschrieben; kann ihn auch nachvollziehen, aber finde beim besten Willen den Fehler nicht.
Vielleicht seid ihr erfolgreicher...
!!??
-
Ich bin leider aus C++ schon zu lang draußen um solche Feinheiten ohne Testen noch zu wissen, aber vielleicht hilft es dir ja doch weiter.
Versuche mal die Ableitung public zu machen:class CGSGame : IGameState->
class CGSGame : public IGameState
-
ja das wars, danke sehr
ich dachte aber immer, das sei standardmäßig immer so...
naja jetzt läufts aber gruß sammy