Hi. Я пишу CWinThread-интерфейс к LinuxThreads, и возникла сложность: есть две функции bool CWinThread::CreateThread(...); int CWinThread::Run();
Run -- это "main" новой нитки, CreateThread -- функция, запускающая thread. Соответственно в CreateThread очень хочется вызвать pthread_create(&pth,&pth_attr,(void*)&CWinThread::Run),NULL); на что я получаю: CWinThread.cpp: In method `bool CWinThread::CreateThread(long unsigned int = 0, unsigned int = 0, void * = 0)': CWinThread.cpp:14: converting from `int (CWinThread::*)()' to `void *' CWinThread.cpp:14: ANSI C++ forbids implicit conversion from `void *' in argument passing make: *** [CWinThread.lo] Error 1 Это как-бы две ругани. Второй не нравится преобразование к (void*), и на это, в принципе, можно забить до поры до времени, но с первой-то что делать? Если перобразование к (void*) убрать то выйдет: CWinThread.cpp:14: converting from `int (CWinThread::*)()' to `void * (*)(void *)' Если абстрагироваться, то вопрос в том, как сообщить функции из некоторого класса в качестве аргумента указатель на (нестатическую) функцию из того же класса. Спасибо, -- Alexander Kotelnikov Saint-Petersburg, Russia

