Próbuję użyć pthread_create(), ale to zawsze daje mi ten błąd nieprawidłowy konwersji z void*
do void* (*)(void*)
nieprawidłowa konwersja z "void *" na "void * (*) (void *)" C++?
Ten błąd jest w 3. argument. Czy ktoś mógłby mi pomóc z tym błędem?
void Print_data(void *ptr) {
cout<<"Time of Week = " <<std::dec<<iTOW<<" seconds"<<endl;
cout<<"Longitude = "<<lon<<" degree"<<endl;
cout<<"Latitude = "<<lat<<" degree"<<endl;
cout<<"Height Above Sea = "<<alt_MSL<<" meters"<<endl;
}
int call_thread()
{
pthread_create(&thread, NULL, (void *) &Print_data, NULL);
return 0;
}
czemu odlewania do '(void *) 'na pierwszym miejscu? –
Brzmi tak, jakbyś nie potrzebował obsady, aby unieważnić *, ponieważ spodziewa się, że wskaźnik będzie działał jako powracająca próżnia? – Utopia
Tytuł mówi "void * (*) (void *)", ale w opisie jest napisane "void *() (void)' - który z nich jest poprawnym komunikatem o błędzie? Proszę wyjaśnić, ponieważ właśnie odrzuciłem edycję, która zgadła. – Philipp