std::thread thread(road0_0, 0, ref(carSpeed[iN]), ref(timeR[iN])); Код std::thread thread(road0_0, 0, ref(carSpeed[iN]), ref(timeR[iN])); Нужна запустить поток функции и передать ей аргументы. Вызывает ошибку "Ошибка C2672 "std::invoke": не найдена соответствующая перегруженная функция c:\program files (x86)\microsoft visual studio\2019\community\vc\tools\msvc\14.16.27023\include\thr\xthread" В чем ошибка и как ее исправить? В гугле нашел, что решение через лямбды, но не понял сути.
std::invoke появился в C++17. В описании конструктора std::thread написано: Пишите std::thread thr(func_1, i, std::ref(mes)); Код std::thread thr(func_1, i, std::ref(mes)); Следовательно в вашем случае так: std::thread thread(road0_0, 0, std::ref(carSpeed[iN]), std::ref(timeR[iN])); Код std::thread thread(road0_0, 0, std::ref(carSpeed[iN]), std::ref(timeR[iN]));