6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
|
||||||
1 | ||||||
Можно ли передать указатель на функцию как параметр другой функции?25.07.2014, 19:21. Показов 3426. Ответов 15
Метки нет Все метки)
(
В общем, вопрос. Можно ли, допустим
0
|
|
25.07.2014, 19:21 | |
Ответы с готовыми решениями:
15
Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр
Как передать параметр типа "указатель на указатель" в функцию? г-но код или можно ли передать метку (от гоуту) в функцию как параметр? |
Почетный модератор
![]() 5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
25.07.2014, 19:50 | 3 |
Suslo, это не функция в функции (что кстати запрещено для сишных компиляторов). Это функция, принимающая параметром указатель на первую функцию.
Существует такое понятие CallBack-функции. Чтобы далеко не ходить вот пример: Для чего нужны callback-функции
0
|
25.07.2014, 19:51 | 4 | |||||
Под этим обычно понимают возможность объявить функцию внутри функции. В Паскале так можно, в Си++ - нет (да-да, я в курсе про Си++11).
Как я понял, вы хотите передать функцию как параметр в другую функцию? Тогда пишите что-то типа
1
|
134 / 104 / 60
Регистрация: 26.10.2013
Сообщений: 312
|
|||||||||||
25.07.2014, 20:11 | 5 | ||||||||||
Функцию можно вызвать через указатель на нее.
0
|
Пес войны
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
|
|
25.07.2014, 20:22 | 6 |
а еще существует std::function
1
|
17417 / 9250 / 2263
Регистрация: 30.01.2014
Сообщений: 16,196
|
||||||
25.07.2014, 21:11 | 7 | |||||
Да в С++03 и C++98 тоже можно, только слегка через арьергард.
3
|
5496 / 4891 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
25.07.2014, 21:45 | 8 |
Это где там, в коде, такое? Там непонятно что написано.
Добавлено через 3 минуты Может ТС имел в виду вызов второй функции с параметром, который возвращает первая функция? Что, вообще, за func1? Это fun1?
1
|
6 / 5 / 1
Регистрация: 30.11.2013
Сообщений: 104
|
|
26.07.2014, 00:20 [ТС] | 9 |
Спасибо за ответы!
0
|
CyberSolver
|
26.07.2014, 06:36
#12
|
Не по теме: DrOffset, да, локальные классы - это хорошо, но я имел ввиду обычные функции. Си++ как всегда демонстрирует последовательность синтаксиса и дизайна:)
0
|
17417 / 9250 / 2263
Регистрация: 30.01.2014
Сообщений: 16,196
|
|
26.07.2014, 12:24 | 13 |
Обрати внимание, что функция - static. Фактически это обычная функция, только с именем, в которое входит имя класса, и внутренним связыванием из-за локальности класса (у обычных по-умолчанию внешнее, но если бы настоящие локальные функции были разрешены, то они тоже имели бы внутреннее связывание). Все остальные свойства не изменились: такую функцию, например, можно передать в качестве callback в С-код и все будет работать. Так что, за формой содержание не изменилось.
0
|
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
26.07.2014, 12:54 | 14 |
С помощью typedef с указателем на функцию вполне можно сделать из нее "обычную".
0
|
26.07.2014, 16:58 | 15 |
DrOffset, да я как будто бы спорил. Александреску вон и не такое с локальными классами вытворяет. Ничего, теперь у нас есть лямбды, треды, variadic templates и auto. План по захвату мира реализуется!
Кстати, вы не поверите, но большинство даже не понимает, что метод - это функция. Это ж метод. Ну а что статическая функция - это та же "просто функция", выше понимания фанатов Java или прости хосспади Ruby.
1
|
DrOffset
|
26.07.2014, 22:21
Можно ли передать указатель на функцию как параметр другой функции?
#16
|
0
|
26.07.2014, 22:21 | |
Указатель на функцию с аргументами, как аргумент другой функции как передать функции в качестве аргумента указатель на функцию описанной в другом классе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |