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

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

Восстановить пароль Регистрация
 
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
04.07.2012, 17:31     Указатель на функцию (как передать?) #1
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++ Как правильно передать в функцию указатель на двумерный массив?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 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++
6543 / 3963 / 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++
6543 / 3963 / 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     Указатель на функцию (как передать?)
Ответ Создать тему
Опции темы

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