我用monkeyAudio解码APE文件,源码中重写了WAVEFORMATEX结构体,我只要引用就会出错,但我又必须要用这个,怎么解决?谢谢了
APE::WAVEFORMATEX wfeInput;
WAVEFORMATEX efex;
error C2872: “WAVEFORMATEX”: 不明确的符号
我用monkeyAudio解码APE文件,源码中重写了WAVEFORMATEX结构体,我只要引用就会出错,但我又必须要用这个,怎么解决?谢谢了
APE::WAVEFORMATEX wfeInput;
WAVEFORMATEX efex;
error C2872: “WAVEFORMATEX”: 不明确的符号
这个错误是由于编译器无法识别WAVEFORMATEX结构体的定义。可能是因为您在使用APE::WAVEFORMATEX时与系统的WAVEFORMATEX发生了冲突。
一种解决方法是使用完整的结构体定义,而不是只使用WAVEFORMATEX。您可以将APE::WAVEFORMATEX结构体中的字段复制到您的代码中,并用完整的结构体定义来代替WAVEFORMATEX,例如:
APE::WAVEFORMATEX wfeInput;
WAVEFORMATEX efex;
efex.wFormatTag = wfeInput.FormatTag;
efex.nChannels = wfeInput.Channels;
efex.nSamplesPerSec = wfeInput.SampleRate;
efex.nAvgBytesPerSec = wfeInput.BytesPerSecond;
efex.nBlockAlign = wfeInput.BlockAlign;
efex.wBitsPerSample = wfeInput.BitsPerSample;
efex.cbSize = wfeInput.ExtraDataSize;
这样就可以避免与系统的WAVEFORMATEX结构体发生冲突,并使您能够使用APE::WAVEFORMATEX结构体的字段。