Wert konvertieren



  • Hallo Jungs,

    folgende Zeile:

    WaveHdrIn[i].lpData = BufferIn[i];
    

    erzeugt diesen Fehler:

    error C2440: '=': 'BYTE [512]' kann nicht in 'LPSTR' konvertiert werden. Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.

    Naja, der Typ scheint wohl nicht zu stimmen? Wie würdet ihr das Problem lösen?

    lg mad



  • strncpy oder gleich std::string nehmen.



  • hmm ... ich verstehe nicht ganz wie das Anwendung finden soll.

    WAVEHDR WaveHdrIn[AUDIOBUFS];
    BYTE BufferIn[AUDIOBUFS][BUFSIZE];
    // ...
    // LPSTR                BYTE 
    WaveHdrIn[i].lpData = BufferIn[i];
    


  • Sorry, hatte die Fehlermeldung andersrum gelesen. Nunja, so musst du halt Speicher allokieren (new char[Size]), die Bytes reinkopieren (std::copy) und wenn du den Speicher nicht mehr brauchst, freigeben (delete[]).


Anmelden zum Antworten