Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Работа с класами |
Автор: NOCaut 22.7.2011, 14:24 |
у меня есть клас CBand и вункция вне класа runThread. Как визвать в етой функцию функцию класа? void runThread(LPVOID args) { CBandToolBarCtrl::Navigate(L""); // - >регаеться что недопустимый вызов нестатической функции-члена } |
Автор: newbieone 22.7.2011, 14:33 | ||
может, так?
в общем, нестатические функции-члены должны вызываться по отношению к какому-то объекту. на то они и нестатические. |
Автор: JЕT 22.7.2011, 14:39 | ||||
Либо сделайте эту функци статической, либо обьявите объек тласса CBand. Пример 1:
Пример 2:
|
Автор: NOCaut 22.7.2011, 14:39 |
после создание object нужно чистить память за соболй? Добавлено через 3 минуты и 13 секунд У меня public секция что за ерор? error: спецификатор 'static' не должен использоваться для функций-членов с областью видимости в пределах файла |
Автор: bsa 22.7.2011, 14:54 |
NOCaut, код покажи |
Автор: NOCaut 22.7.2011, 15:00 |
// h file class CBandToolBarCtrl : public CWindowImpl<CBandToolBarCtrl, CToolBarCtrl> { public: static void Navigate(CString url); ..... // cpp file static void CBandToolBarCtrl::Navigate(CString url) { } |
Автор: JЕT 22.7.2011, 15:03 | ||
Уберите клчевое слово static из реализации функции. Добавлено через 36 секунд То есть сделайте просто
|
Автор: NOCaut 22.7.2011, 15:03 |
нащол что не так Но тепер с етой функции я не вижу переменние класа |
Автор: JЕT 22.7.2011, 15:07 | ||
Скорее всего переменные в классе обьявлены со специикатором доступа private. Создайте get и set функции для доступа к этим переменным. |
Автор: NOCaut 22.7.2011, 15:10 |
Рахобрался |
Автор: JЕT 22.7.2011, 18:26 |
Да, вы правы. Перепутал немного. |