передать более одного параметра _beginThreadEx

Можно ли передать более одного параметра в начало?

Я знаю, что могу создать класс или структуру, но что если у меня есть несвязанные фрагменты данных, которые я не хочу объединять в класс или структуру?

Библиотеки Boost, кажется, допускают несколько параметров, но как мне сделать несколько параметров для стандартного c ++ _beginThreadEx?

#include <iostream>
#include <process.h>

unsigned __stdcall myThread(void *data)
{
//C:\dev\default threads\_threads.cpp|6|error: invalid conversion from 'int*' to 'int' [-fpermissive]|
int *x = static_cast<int*>(data);

//int *x = (int*)data;

std::cout << "Hello World! " << x;
}

int main()
{

int x = 10;
_beginthreadex(NULL, 0, myThread, &x, 0, NULL);
while(true);
}

1

Решение

Определите структуру или класс. Даже вещи, которые, кажется, посылают отдельные значения, в конечном итоге делают то же самое под ним. Ваши две ценности являются связанные — по крайней мере, они оба являются параметрами вашей функции потока.

6

Другие решения

Других решений пока нет …