Brauche Hilfe bei einem Programm



  • Hallo!

    Ich versuche grade auf lazyfoo.net SDL zu lernen!

    Bis jetzt ging alles gut ...

    Ich hänge an folgendem Code:

    #include <string>
    #include <iostream>
    #include "SDL.h" 
    
    using namespace std;
    
    int main( int argc, char* args[]) 
    { 
    	const int SCREEN_WIDTH = 640;
    	const int SCREEN_HEIGHT = 320;
    	const int SCREEN_BPP = 32;
    
    	SDL_Surface *background=NULL;
    	SDL_Surface *message=NULL;
    	SDL_Surface *screen=NULL;
    
    	[b]SDL_Surface *load_image( std::string filename ) {[/b] 
    
    	SDL_Surface* loadedImage = NULL; 
    
    	SDL_Surface* optimizedImage = NULL; 
    
    	loadedImage = SDL_LoadBMP( filename.c_str() ); 
    
    	if( loadedImage != NULL ) 
    	{ 
    	     optimizedImage = SDL_DisplayFormat( loadedImage ); 		
                 SDL_FreeSurface( loadedImage );
    	} 
    
    	return optimizedImage; 
    }
    

    In Zeile 17 wird statt dem letzten Zeichen (geschwungene Klammer) ein ; erwartet.
    Wenn ich aber statt dieser Klammer ein ; setze, steht, dass "filename" in Zeile 23 nicht definiert ist! 😕

    Bitte helft mir! 😞



  • So?

    #include <string>
    #include <iostream>
    #include "SDL.h"
    
    using namespace std;
    
    int main( int argc, char* args[])
    {
        const int SCREEN_WIDTH = 640;
        const int SCREEN_HEIGHT = 320;
        const int SCREEN_BPP = 32;
    
        SDL_Surface *background=NULL;
        SDL_Surface *message=NULL;
        SDL_Surface *screen=NULL;
    }
    
    SDL_Surface *load_image( std::string filename ) { 
    
        SDL_Surface* loadedImage = NULL;
    
        SDL_Surface* optimizedImage = NULL;
    
        loadedImage = SDL_LoadBMP( filename.c_str() );
    
        if( loadedImage != NULL )
        {
             optimizedImage = SDL_DisplayFormat( loadedImage );        
                 SDL_FreeSurface( loadedImage );
        }
    
        return optimizedImage;
    }
    


  • Danke für die Antwort & deine Hilfe!


Anmelden zum Antworten