Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Degny
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 4
#1

указатель на функцию-член! - C++

16.05.2013, 21:49. Просмотров 438. Ответов 4
Метки нет (Все метки)

Как в аргумент функции передать указатель на метод класса?
Метод в классе у меня статический,все равно не получается(невозможно преобразовать параметр 1 из 'void' в 'void (__cdecl *)(void)')
Подскажите,пожалуйста,как это реализовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 21:49     указатель на функцию-член!
Посмотрите здесь:

Указатель на функцию член C++
Указатель на функцию - член класса. C++
C++ указатель на член в массиве
Указатель на функцию-член C++
C++ Указатель на функцию-член
C++ std::bind и указатель на статическую функцию член класса
Указатель на ф-цию член класса C++
Указатель на функцию-член C++
Как создать указатель на функцию-член класса и вызвать его? C++
C++ Указатель на член структуры/класса
Указатель на функцию-член класса C++
Указатель на фунцкию-член C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Xan_
20 / 20 / 6
Регистрация: 19.09.2010
Сообщений: 85
16.05.2013, 21:56     указатель на функцию-член! #2
Например вот так:
C++
1
2
3
float (SomeClass::*my_memfunc_ptr)(int, char*)
// Для константных функций-членов используется объявление
float (SomeClass::*my_const_memfunc_ptr)(int, char*) const;
Degny
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 4
16.05.2013, 22:08  [ТС]     указатель на функцию-член! #3
Все равно не получается,в методах класса по-умолчанию передается указатель this,нужна статическая функция,в которой нету this;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class B:
{
   public:
           static  void f();
}
void FuncD(void (*func)(void));
 
int main()
{
   void (*p)();
   p=&B::f;
   FuncD(p); 
  
  return 0;
}
ну так тоже не получается.
gray_fox
What a waste!
1253 / 1136 / 54
Регистрация: 21.04.2012
Сообщений: 2,359
Завершенные тесты: 3
16.05.2013, 22:15     указатель на функцию-член! #4
Так получается:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
 
struct B {
 
   static void f() {
      std::cout << "f call" << std::endl;
   }
};
 
void FuncD(void (*func)()) {
   func();
}
 
 
int main() {
   FuncD(B::f); 
}
Degny
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 4
16.05.2013, 22:23  [ТС]     указатель на функцию-член! #5
Спасибо))
Yandex
Объявления
16.05.2013, 22:23     указатель на функцию-член!
Ответ Создать тему
Опции темы

Текущее время: 15:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru