Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Degny
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 4
1

Как в аргумент функции передать указатель на метод класса?

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

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

Аргумент функции - указатель на метод класса
Здравствуйте. Содержание задания - написать программу, создающую копию выбранного пользователем...

Как передать в метод класса Menu указатель на метод дочернего класса?
Как передать в метод базового класса указатель на метод дочернего: class Menu() { protected: ...

Как передать указатель на функцию через метод класса ?
typedef void (*FuncCallback)(float* flValue); Пробовал по всякому и ни как: Class.CallFunc...

Как передать функции через метод класса
Добрый вечер всем! Столкнулся с проблемкой К примеру у меня есть 3 функции.Я хочу в 4 функцию...

Как передать метод класса в качестве параметра функции
Это типа "бот", он работает ("шагает" по заданному полю) #include "stdafx.h" #include...

4
_Xan_
20 / 20 / 14
Регистрация: 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;
0
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;
}
ну так тоже не получается.
0
gray_fox
What a waste!
1562 / 1266 / 168
Регистрация: 21.04.2012
Сообщений: 2,649
Завершенные тесты: 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); 
}
1
Degny
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 4
16.05.2013, 22:23  [ТС] 5
Спасибо))
0
16.05.2013, 22:23
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 22:23

Указатель массива как аргумент функции
Я прочитал несколько алгоритмов сортировки массивов, но не совсем понял, если массив чисел будет...

Указатель на функцию с аргументами, как аргумент другой функции
У меня есть некая функция, которая принимает как аргумент другую функцию typedef...

Указатель на имя файла как аргумент функции. Как реализовать?
Доброго времени суток всем! Прошу помощи! Написал программу, есть пару моментов, сложных для меня. ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.