Das verdammte ...



  • Hallo,

    könnt ihr mir sagen was an dem Code falsch ist

    string strFormat(const string & format, ...)
    {
       char buf[1025];
       va_list args;
    
       va_start(args, format);
       vsprintf(buf, format.c_str(), args);
       va_end(args);
    
       return string(buf);
    }
    


  • könnt ihr mir sagen was an dem Code falsch ist

    Dein Code hat undefiniertes Verhalten, da du einen Referenztyp an va_start übergibst und das ist laut Standard verboten.

    So geht's:

    string strFormat(const char* format, ...) 
    { 
       char buf[1025]; 
       va_list args; 
    
       va_start(args, format); 
       vsprintf(buf, format, args); 
       va_end(args); 
    
       return string(buf); 
    }
    

    PS: Verwende doch bitte das nächste Mal einen ordentlichen Topic-Titel.



  • Danke!

    HumeSikkins schrieb:

    PS: Verwende doch bitte das nächste Mal einen ordentlichen Topic-Titel.

    Kann man machen.


Anmelden zum Antworten