#include <iostream>
#include <thread>
class MyClass
{
public:
MyClass(){}
int tab[5];
~MyClass(){}
};
void write(MyClass *temp)
{
for (int i = 0; i < 5; ++i)
temp->tab[i] = i + 90;
}
int main()
{
std::thread td(write);
MyClass *my_class = new MyClass();
for (int i = 0; i < 5; ++i)
my_class->tab[i] = i;
for (int i = 0; i < 5; ++i)
printf_s(my_class->tab[i] + " ");
return 0;
}
Dlaczego ten kod mi się nie kompiluje i wywala:
Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...)' threading c:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread 238
Tak wiem, że doprowadzam w kodzie do szkodliwej rywalizacji, ale chciałbym dokładnie się dowiedzieć dlaczego taki błąd akurat.