我从第三方收到的这个函数包含以下不能在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;
}
}
已经指示他们帮助编译为C ++代码。谢谢你的帮助。
答案 0 :(得分:7)
void *end = data + data_size;
应该是:
void *end = ((char *) data) + data_size;
添加到void*
是GCC扩展程序。