У меня есть файл main.cpp, где у меня есть следующий код
paral(start, end, [&](int i){
C1[i] = A1[i] + B[i];
}, numThreads);`
У меня есть paral
определение в otherfile.cpp, где у меня есть следующий код
void paral(int start, int end, T &&lambda, int nT){
pthread_t thread1;
int status = pthread_create(&thread1, NULL,lambda ,1);//Should execute lambda(1)
lambda(2);//Executed by main thread
//Code for join and so on
}
Там написано:
не может преобразовать лямбду в (void *) (*) (void *).
Я пытался привести и передать лямбда-функцию в pthread, но это не помогло.
Я хочу также вызвать лямбда-функцию из созданного потока, что я не могу сделать.