Diese Def. "AUX_RGBImageRec *LoadBMP(char *Filename)" sagt mir nichts.



  • Hi !

    Ich hab in einem Tutorial folgenden Code gesehen, mit dem man ein bmp Bild laden kann. Allerdings sagt mir "AUX_RGBImageRec *LoadBMP(char *Filename)" nicht so extra viel. Was ist *LoadBMP, ein Zeiger auf ein Objekt vom Typ AUX_RGBImageRec ?? Wenn ja, wieso kann ich danach einen {}-Block öffnen ?

    AUX_RGBImageRec *LoadBMP(char *Filename)				// Loads A Bitmap Image
    {
    	FILE *File=NULL;									// File Handle
    
    	if (!Filename)										// Make Sure A Filename Was Given
    		return NULL;									// If Not Return NULL
    
    	File=fopen(Filename,"r");							// Check To See If The File Exists
    
    	if (File) {										// Does The File Exist?
    		fclose(File);									// Close The Handle
    		return auxDIBImageLoad(Filename);				// Load The Bitmap And Return A Pointer
    	}
    
    	return NULL;										// If Load Failed Return NULL
    }
    

    mfg
    tom



  • das ist einfach eine funktion, die einen zeiger auf ein AUX_RGBImageRec zurückgibt.

    AUX_RGBImageRec *zeiger = LoadBMP ("my.bmp");
    

    btw char * sollte durch const char * ersetzt werden



  • LoadBMP ist eine funktion die ein pointer auf AUX_RGBImageRec zurück gibt, man könnte es noch so schreiben

    AUX_RGBImageRec * LoadBMP(char *Filename) 
    {
        //...
    }
    
    AUX_RGBImageRec* LoadBMP(char *Filename) 
    {
        //...
    }
    
    AUX_RGBImageRec               *               LoadBMP(char *Filename) 
    {
        //...
    }
    
    typedef AUX_RGBImageRec * ptr_AUX_RGBImageRec;
    
    ptr_AUX_RGBImageRec LoadBMP(char *Filename) 
    {
        //...
    }
    


  • Thx, so find ich es allerdings am sinnvollsten:

    AUX_RGBImageRec* LoadBMP(char *Filename)
    

    mfg
    tom


Anmelden zum Antworten