Есть код:
#include <iostream>
#include <algorithm>
#include <thread>
template<typename T>
T func(T& tid) {
std::cout << "Thread says: " << tid << std::endl;
}
int main()
{
std::thread t(func,35);
t.join();
return 0;
}
Вываливается ошибка:
main.cpp:17: ошибка: no matching function for call to 'std::thread::thread(<unresolved overloaded function type>, int)'
std::thread t(func,35);
^
Без шаблона код работает как надо. Судя по тому что написано - компилятор не знает какую версию функции ему вызвать. Друг Google не хочет помогать ... хоть стандарт и был принят 6! лет назад, информации по использованию потоков (с использованием шаблонов) не так много ...
можно конечно и без шаблонов, но хочется знать в чем проблема. Буду благодарен за помощь!)