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[]).