将参数传递给_beginthread函数

时间:2014-02-13 03:48:09

标签: c++ multithreading pointers beginthread

我有以下代码来启动一个新线程

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()函数。我怎样才能实现它?

1 个答案:

答案 0 :(得分:1)

void *参数可用于传递任何内容。但是拿它的地址是没有意义的:

int PointNumber = (int)arg;