Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2020, 11:01   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
Вопрос Передать указатель на функцию в параметр другой функции.

Всем привет. Напишите, пожалуйста, просто образец, где будет только объявление функции с этим параметром и как передать в эту функцию аргумент, я не могу найти в интернете про это.
Заранее спасибо.
Мaкс вне форума Ответить с цитированием
Старый 29.01.2020, 19:26   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

.....

Последний раз редактировалось digitalis; 30.01.2020 в 10:17. Причина: Ых...
digitalis вне форума Ответить с цитированием
Старый 30.01.2020, 08:20   #3
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Мaкс, привет.
Уточни, что за функция - глобальная, статическая и метод класса?
Уточни, какой стандарт используется - до 11 или 11+
Алексей1153 вне форума Ответить с цитированием
Старый 30.01.2020, 11:20   #4
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
Мaкс, привет.
Уточни, что за функция - глобальная, статическая и метод класса?
Уточни, какой стандарт используется - до 11 или 11+
Привет.
1.Метод класса.
2.11 стандарт. (Qt 5.14)
Мaкс вне форума Ответить с цитированием
Старый 30.01.2020, 11:34   #5
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Мaкс,

Код:
struct A
{
	int func(int arg)
	{
		return arg+1;
	}
};

//алиас для типа "указатель на функцию класса A"
using ptr_to_A_member_func=int (A::*)(int);
//аналог в старом стандарте
//typedef int (A::*ptr_to_A_member_func)(int);

int main()
{
	//указатель на функцию
	ptr_to_A_member_func pF=A::func;

	//auto pF=A::func;//или так

	//экземпляр, для которого будет вызываться функция
	A a;
	int result=(a.*pF)(10);

	//или через указатель на экземпляр
	A* pA=&a;
	result=(pA->*pF)(10);

	//result==11
}
Алексей1153 вне форума Ответить с цитированием
Старый 30.01.2020, 12:01   #6
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Спасибо...
Мaкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать параметр из одного конструктора в другой? taras-proger77 Общие вопросы C/C++ 2 18.04.2019 01:41
Передать параметр в функцию insaider SQL, базы данных 1 19.03.2019 16:11
Передать указатель на указатель в функцию erro Общие вопросы C/C++ 3 29.10.2012 17:59
Как передать в функцию указатель на String avd Общие вопросы C/C++ 6 06.06.2010 17:52
Как передать в функцию параметр разных типов borispnz Общие вопросы Delphi 5 06.02.2010 08:37