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

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

Войти
Регистрация
Восстановить пароль
 
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
#1

Указатель на функцию (как передать?) - C++

04.07.2012, 17:31. Просмотров 806. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void abc(int a, int b)
{   
        
}
 
 
void func(void *f(int, int))
{
        f;
}
 
 
int main()
{
    func((void*)abc);
    return 0;
}

Как правильно передать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 17:31     Указатель на функцию (как передать?)
Посмотрите здесь:

C++ Как передать в функцию указатель на двумерный массив заранее неизвестного размера?
Как в конструкторе класса передать параметром указатель на функцию? C++
C++ Как правильно передать в функцию указатель на двумерный массив?
C++ Как передать указатель на структуру в функцию
C++ Как передать в функцию указатель на структуру, если эта структура не определена глобально?
Как передать функции указатель на функцию в качестве аргумента? C++
Как в функцию передать указатель на матрицу? C++
C++ Как передать указатель на функцию через метод класса ?
Можно ли передать указатель на функцию как параметр другой функции? C++
C++ Как передать в функцию в качестве параметров указатель на файл
Передать указатель в функцию C++
C++ Как передать указатель на файл в функцию?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.07.2012, 17:57     Указатель на функцию (как передать?) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void abc(int a, int b)
{   
}
 
void func(void (*f)(int, int))
{
   f(0, 0);
}
 
int main()
{
    func(abc);
    return 0;
}
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
04.07.2012, 17:58  [ТС]     Указатель на функцию (как передать?) #3
Jupiter, а если я хочу из мейна передать 10, 5 например?
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.07.2012, 17:59     Указатель на функцию (как передать?) #4
Цитата Сообщение от Ksan Посмотреть сообщение
а если я хочу из мейна передать 10, 5 например?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void abc(int a, int b)
{   
}
 
void func(void (*f)(int, int), int a, int b)
{
   f(a, b);
}
 
int main()
{
    func(abc, 10, 5);
    return 0;
}
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
04.07.2012, 18:02  [ТС]     Указатель на функцию (как передать?) #5
Jupiter, а нельзя что-то вроде этого:

C++
1
func(abc(10, 5));
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.07.2012, 18:15     Указатель на функцию (как передать?) #6
Цитата Сообщение от Ksan Посмотреть сообщение
а нельзя что-то вроде этого:
через указатель на функцию - нет, можно создать функтор - структура/класс у которого перегружен оператор круглых скобок т.е.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
struct abc {
   int m_a, m_b;
   
   abc(int a, int b) : m_a(a), m_b(b) {}
   
   void operator () ()
   {
      std::cout << m_a << std::endl << m_b;
   }
 
};
 
void func(abc f)
{
   f();
}
 
int main()
{
    func(abc(10, 5));
    return 0;
}
Yandex
Объявления
04.07.2012, 18:15     Указатель на функцию (как передать?)
Ответ Создать тему
Опции темы

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