我有以下代码来启动一个新线程
int number = 10;
_beginthread(ModbusReadWrite, 0, (void*)number);
功能是:
void ModbusReadWrite(void *arg)
{
char inBuffer[BUF_SIZE];
int PointNumber = &arg;
...
}
显示错误:
error C2440: 'initializing' : cannot convert from 'void **' to 'int'
因此,我需要定义int类型的新参数并将其传递给ModbusReadWrite()函数。我怎样才能实现它?
答案 0 :(得分:1)
void *参数可用于传递任何内容。但是拿它的地址是没有意义的:
int PointNumber = (int)arg;