У меня есть функция workForThread, которая принимает два аргумента и возвращает void. Я хотел бы передать эту функцию, используя что-то вроде :
thread(workForThread,a,b);
, где a
и b
имеют соответствующие типы. Приведенный выше код не компилируется, выдавая ошибку «слишком много аргументов для вызова» («ошибка C2197 :'void (__cdecl *)(char *)' :слишком много аргументов для вызова»)
Как я могу решить эту проблему?
Примечание.:Я просмотрел этидва вопроса, но решения, которые там работают, похоже, не работают для меня. Кроме того, у меня есть ощущение, что есть способ сделать это встроенным в С++ 11, и это то, что я ищу.