我正在尝试将现有代码修改为64位计算机。主要问题是在一个函数中,以前的编码器使用void *参数,该参数在函数本身中转换为合适的类型。一个简短的例子:
void function(MESSAGE_ID id, void* param)
{
if(id == FOO) {
int real_param = (int)param;
// ...
}
}
当然,在64位计算机上,我得到以下错误:
error: cast from 'void*' to 'int' loses precision
我想更正此问题,以便它仍可在32位计算机上且尽可能干净地工作。任何的想法 ?
慕容森
繁华开满天机
相关分类