- #VK,
Bonjour,
n'ayant pas l'habitude des langages si bas niveau j'ai un problème au niveau de la transmission des pointeurs. Je comprend parfaitement le principe d'adresse et de valeur mais quand j'essaye de l'appliquer pour par exemple initialiser la sdl dans une fonction ça ne fonctionne pas.
j'ai une fonction :
1 | int init( SDL_Window* window, SDL_Surface* screenSurface ); |
Après avoir initialiser mes deux pointers à NULL dans mon main j'appelle la fonction de cette manière :
1 | if( init( window, screenSurface ) < 0 ) return 0; |
Puis dans ma fonction après plusieurs test je crée ma fenêtre :
1 | window = SDL_CreateWindow( "SDL Window", 0, 0, 640, 480, SDL_WINDOW_SHOWN ); |
et
1 | screenSurface = SDL_GetWindowSurface( window ) |
Je test bien sur si window est pas égale à NULL si la fonction SDL_Init() me retourne pas une erreur mais malgrès tout ça a la compilation je n'ai aucune erreur mais une fois le programme lancer je n'ai aucune fenêtre, juste les bordure mais la fenêtre est vide (je vois à travers).
Avec vous une idée ? Je suis un peu perdu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | int main( int argc, char* argv[] ) { SDL_Window* window = NULL; SDL_Surface* screenSurface = NULL; if( init(window, screenSurface) < 0 )return 0; SDL_UpdateWindowSurface( window ); SDL_Delay( 2000 ); return 0; } |