我从第三方收到的这个函数包含以下不能在MS Visual Studio 10中编译的代码.我认为有一个转换问题,但不知道如何解决这个问题.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
已经指示他们帮助编译为C++代码.谢谢你的帮助.
void *end = data + data_size;
Run Code Online (Sandbox Code Playgroud)
应该:
void *end = ((char *) data) + data_size;
Run Code Online (Sandbox Code Playgroud)
添加到a void*是GCC扩展.