Witam, mój problem jakiś czas temu polegał na tym że nie mogłem uzywac referencji w funkcji która trafia do konstruktora klasy thread, tak to wyglądało:
void funkcja(int &zmienna)
thread zadanie(funkcja, zmienna)
To wywalało błąd więc przerobiłem to w oto taki sposób:
void funkcja(int *zmienna)
thread zadanie(funkcja, &zmienna)
No i rzeczywiście to zadziałało:
Potem funkcja funkcja wylądowała w klasie a zmienna zadanie w innej funkcji tej samej klasy.
Błąd tym razem dotyczył tego że zmienna zadanie nie wiedziała gdzie jest funkcja funkcja.
Poczytałem trochę w internecie i znalazłem wzmiankę o tym że w takiej sytuacji trzeba przy podaniu metody do konstruktora klasy thread zadanie dać przedrostek &klasa::
ostatecznie tak to wyglądało:
void klasa::funkcja(int *zmienna)
{
//coś
}
void klasa::zrobZadanie()
{
int zmienna;
thread zadanie(&klasa::funkcja, &zmienna);
zadanie.join();
}
Jednakże znowu pojawił się błąd podany w załączniku.
Próbowałem zamienić wskaźnik w metodzie na referencje, ale błąd dalej wyskakiwał. Co robić?
Pozdrawiam, z góry dziękuję za odpowiedź.