Konvertierung des Parameters 1 von 'unsigned char *' in 'const char *' nicht möglich



  • unsigned char* buf = NULL;
    contentlength = atoi(buf + 15);
    

    = "Konvertierung des Parameters 1 von 'unsigned char *' in 'const char *' nicht möglich"

    was ist da falsch?



  • Du musst von unsigned char* nach char* casten



  • dann kommt hier der fehler

    bei:

    i = sockgetlinebuf(param, CLIENT, buf, LINESIZE - 1, '\n', (keepalive)?conf.timeouts[CONNECTION_S]:conf.timeouts[STRING_S]);
    

    error C2664: 'sockgetlinebuf': Konvertierung des Parameters 3 von 'char *' in 'unsigned char *' nicht möglich



  • habs mit (const char*)buf gelöst



  • spike1993 schrieb:

    habs mit (const char*)buf gelöst

    Wobei das natürlich die schlechteste Lösung darstellt (Fehlerverschleierung, schwer debugbar,...), sich aber noch viel mehr die Frage nach der Sinnhaftigkeit von

    unsigned char* buf = NULL;
    contentlength = atoi(buf + 15);
    

    stellt. Weisst du überhaupt, was du da tust? Vielleicht sprichst du die wirklich ausgeführten Aktionen mal langsam vor dich hin und bemerkst dabei die Sinnfreiheit des Codes.



  • Im offset 0xF steht bestimmt ein string 😃


Log in to reply