| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > может кто сталкивался |
| Автор: nikolaich 27.3.2007, 16:54 | ||||
| Всем привет. Помогите решить проблему.
Компилятор выдает ошибку: error C3867: 'CHaLoMoDlg::ThrProc': function call missing argument list; use '&CHaLoMoDlg::ThrProc' to create a pointer to member Когда делаю так:
пишет: error C2665: 'AfxBeginThread' : none of the 2 overloads could convert all the argument types Скажу сразу, что я использую студию 2005 Заранее спасибо. |
| Автор: Greeen 27.3.2007, 16:58 | ||||
Функция должна иметь вид
Она не может быть членом класса. Точнее может, но статической. Т.е.
|
| Автор: Earnest 27.3.2007, 17:07 |
| Может, но статическим. |
| Автор: nikolaich 27.3.2007, 22:50 |
| Извините вынужден был отлучиться. Сейчас попробую. Кстати, если не ошибаюсь, даже в MSDN про то что она должна быть статической ничего нет. (правда у меня версия старая) Киньте ссылку где можно почитать про это. (если не трудно) |
| Автор: Earnest 28.3.2007, 07:32 | ||
Как это нет? Вот описание AfxBeginThread из MSDN:
Видим семантику функции: глобальная функция с одним параметром. Что еще должно быть написано, чтобы было понятно, что методы класса не годятся? |
| Автор: nikolaich 28.3.2007, 21:58 |
| Ну лох я, согласен, но где здесь про static?. |
| Автор: Earnest 29.3.2007, 08:10 |
| Нигде про класс ничего нет. Ты сам должен знать, что в качестве глобальной функции может выступать статический метод класса. Добавлено через 3 минуты и 5 секунд А нестатический - не может, так как у него есть еще один неявный параметр - this. Следовательно, сигнатура не подходит. |
| Автор: nikolaich 30.3.2007, 19:58 |
| Спасибо Earnest. |