MyVoiceCallback::OnBufferEnd: перегружающая виртуальная функция отличается от "IXAudio2VoiceCallback::OnBufferEnd" только соглашением о вызове
Я пытаюсь сделать визуализатор звука с помощью xaudio2. У меня возникла такая проблема, когда я копирую этот код из документации:
class VoiceCallback : public IXAudio2VoiceCallback
{
public:
HANDLE hBufferEndEvent;
VoiceCallback() : hBufferEndEvent(CreateEvent(NULL, FALSE, FALSE, NULL)) {}
~VoiceCallback() { CloseHandle(hBufferEndEvent); }
//Called when the voice has just finished playing a contiguous audio stream.
void OnStreamEnd() override { SetEvent(hBufferEndEvent); }
//Unused methods are stubs
void OnVoiceProcessingPassEnd() { }
void OnVoiceProcessingPassStart(UINT32 SamplesRequired) { }
void OnBufferEnd(void* pBufferContext) { }
void OnBufferStart(void* pBufferContext) { }
void OnLoopEnd(void* pBufferContext) { }
void OnVoiceError(void* pBufferContext, HRESULT Error) { }
};
У меня появляется 7 ошибок такого рода:

Я пробовал и override добавлять и много чего другого, но ошибка не пропадает.