Я пытаюсь понять потоки в C++, но я не знаю, как решить эту проблему.THREAD ERROR: недопустимое использование нестатической функции-члена
Я хочу назвать две нити, чтобы запустить функцию под названием «СОЗДАЕТ», но я получаю эту ошибку:
error: invalid use of non-static member function
Я читал другие вопросы по этой теме, но я действительно не понимаю, как сделать мой код работает.
Может ли кто-нибудь объяснить мне, что я делаю неправильно, и попытаться помочь найти решение?
test_class.cpp
void test_class::generateS(){
map1=new multimap<double,vector<int>>;
map2=new multimap<double,vector<int>>;
thread thread_1(createS, 0, nCells/2, map1);
thread thread_2(createS, nCells/2, nCells, map2);
thread_1.join();
thread_2.join();
}
void test_class::createS(int startP, int endP, Costs *mapPointer){
//i do some stuff
}
test_class.h
void createS(int start, int end, Costs *mapPointer);
void generateS();
Попробуйте создать класс CreateS() static. –