|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2010, 12:26 | #1 |
Форумчанин
Регистрация: 17.12.2009
Сообщений: 101
|
Указатель на функцию
Захотелось экстрима. Суть такова:
Есть функция void func1(int &i), которая выполняет действие i -= 15 Есть указатель на функцию void (*func2)(int &i). f2 присваивается f1 и т.д. Работает. Но я решил использовать эту фишку в конструкторе одного из классов. То есть нужная функция должна передаваться конструктору в качестве параметра и там присваиваться указателю. Вроде того (просто функция, не конструктор): Код:
Есть ли элегантные и надёжные способы решения моей проблемы? Последний раз редактировалось Кипящий чайник; 10.10.2010 в 14:15. |
10.10.2010, 12:34 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Вы в функцию передаёте f2 по значению, т.е. внутри функции новое значение присваивается, но func2 от этого не меняется. Смотрите как передавать указатель на функцию по ссылке/указателю.
|
10.10.2010, 12:39 | #3 |
Форумчанин
Регистрация: 31.08.2009
Сообщений: 161
|
во-первых посмотрите как вы объявили указатель на функцию
Код:
Код:
два - Код:
и еще насколько я понимаю, в функцию Attack вы передаетё копию func2, поэтому на строке (*func2)(value); ваша программа вылетает... |
10.10.2010, 13:39 | #4 |
Пользователь
Регистрация: 14.01.2010
Сообщений: 31
|
Код:
|
10.10.2010, 14:33 | #5 |
Форумчанин
Регистрация: 17.12.2009
Сообщений: 101
|
Почти это, спасибо. Просто я хочу так, чтобы не пришлось каждый при вызове указывать, какую именно функцию я хочу использовать. Чтобы один-единственный раз указателю присвоить нужную функцию, и этот указатель вызывать.
Дело в том, что каждый объект может использовать свою функцию. Может, подскажешь, как такое реализовать? |
10.10.2010, 15:26 | #6 |
Пользователь
Регистрация: 14.01.2010
Сообщений: 31
|
Код:
|
10.10.2010, 19:30 | #7 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как объявить тип "указатель на функцию" | coper | Общие вопросы C/C++ | 3 | 12.09.2010 23:20 |
Как передать в функцию указатель на String | avd | Общие вопросы C/C++ | 6 | 06.06.2010 17:52 |
указатель на функцию. | kotjara2 | Общие вопросы C/C++ | 9 | 11.02.2010 18:45 |
Указатель на функцию | Роман Радер | Общие вопросы C/C++ | 2 | 09.11.2009 00:50 |
Как это сделать. Указатель на функцию. | Levsha100 | Свободное общение | 15 | 25.09.2009 05:57 |