Cześć,
dostałem na studiach zadanie by z pomocą wątków stworzyć trójkąt sierpińskiego w tablicy[x][x] i zapisać go do pliku.
Stworzyłem więc klasę arrayHandler oraz triangle. Na początku w main tworzę instancję klasy tablicy oraz trójkąta z początkowymi punktami. Trójkąt zawiera wskaźnik na obiekt arrayHandler. W konstruktorze trójkąta uruchamiam funkcję divide() w której tworzę tablice nowych wierzchołków array[4][3][2] (4 nowe trójkąty po 3 wierzchołki każdy ma x i y ).
Teraz wydawało mi się że skończyłem program, gdyż wystarczy że w funkcji divide() stworzę 4 nowe wątki dla każdego nowego trójkąta, jednak to tu jest największy problem - jak?
//Próbowałem tak:
thread th(new triangle(*aH, p1, p2, p3));
(aH to arrayHandler natomiast p1, p2, p3 to wierzchołki)
pokazuje błąd:
'std::invoke': no matching overloaded function found
natomiast:
triangle fTrian(*myArr, p1, p2, p3);
thread first(fTrian.divide);
pokazuje:
'triangle::divide': non-standard syntax; use '&' to create a pointer to member
Mimo, że funkcja tam jest.
Chciałbym to zrozumieć, ktoś posłuży radą?