2 Stimmen

Fehler - void* - unbekannte Größe

Diese Funktion, die ich von einem Drittanbieter erhalten habe, enthält den folgenden Code, der in MS Visual Studio 10 nicht kompiliert. Ich denke, es gibt ein Casting-Problem, weiß aber nicht, wie man das beheben kann.

void dump_ffmpeg_pad16(FILE *stream, uint32_t timestamp, void *data,
                   int data_size)
{
    unsigned int z=0;
    void *end = data + data_size;
    while (data < end) {
        z = *(unsigned short*)data;
        fwrite(((char*)(&z)), 3, 1, stream);
        data += 2;
    }
}

Es wurde in ihrer Hilfe angewiesen, den Code als C++-Code zu kompilieren. Vielen Dank für Ihre Hilfe.

12voto

David Schwartz Punkte 172718
void *end = ((char *) data) + data_size;

Soll sein:

void *end = ((char *) data) + data_size;

Hinzufügen zu einem void* ist eine GCC-Erweiterung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X