Zeiger auf Zeiger in anderer CPP
-
Gude Leute,
mein Problem ist, dass ich Screen in meiner GameWorld.cpp brauche, aber der pointer für den Screen bzw. die Initialisierung ist in Client.cpp, vielleicht wird das durch den Code deutlich:client.cppSDL_Surface *Screen = NULL; bool CClient::Init() { //Initialisierung der SDL Schnittstelle if(SDL_Init(SDL_INIT_EVERYTHING) == -1) { //Fehler beim initialisieren von SDL // TODO: SDL_GetError() MessageBox(NULL, "failed to initialize sdl", NULL, NULL); return false; } //Screen einstellen Screen = SDL_SetVideoMode( SCREEN_W, //Breite SCREEN_H, //Höhe SCREEN_BPP, //Bittiefe FULLSCREEN? SDL_FULLSCREEN | SDL_HWSURFACE : SDL_SWSURFACE ); //Flag für Oberfläche if(Screen == NULL) { //Fehler beim einstellen des Videomodes MessageBox(NULL, "failed to set screen", NULL, NULL); return false; } //Fensternamen einstellen SDL_WM_SetCaption("Neila", NULL); return true; }GameWorld.cppvoid CGameWorld::show() { pGfx->RenderSurface( box.x, box.y, tileSheet, Screen, &clip[ type ] ); }Ich kann jetzt für beide logischerweise nicht den Selben Zeiger benutzen, außerdem muss ich ja irgendwie sagen was der Screen ist...wenn jemand mein Problem versteht, hätte ich gerne hilfe, wenn nicht, dann sagt mir was für euch nicht verständlich ist.
-
Meinst Du vielleicht "extern":
//foo.cc #include <string> std::string blabla; void init() { blabla = "Hallo Welt!"; } //bar.cc #include <iostream> extern const char* blabla; extern void init(); int main(){ init(); std::cout << blabla << '\n'; }Kompilieren,linken, fertig.
-
Ähm das sollte natürlich nicht const char* sein... in bar.cc...
-
tut mir leid, aber extern hatte ich schon und das gibt einen Fehler.
-
wside schrieb:
tut mir leid, aber extern hatte ich schon und das gibt einen Fehler.
Einen Fehler. Dann ist ja alles klar ...
-
Problem hat sich erledigt !