将参数传递给_beginthread函数

Pass parameter to _beginthread function

本文关键字:beginthread 函数 参数传递      更新时间:2023-10-16

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

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

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

int PointNumber = (int)arg;