0

新しいスレッドを開始する次のコードがあります

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() 関数に渡す必要があります。どうすれば達成できますか?

4

1 に答える 1

2

void* パラメータは、何でも渡すために使用できます。しかし、そのアドレスを取るのは意味がありません:

int PointNumber = (int)arg;
于 2014-02-13T04:24:06.020 に答える