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

вектор функций - C++

Восстановить пароль Регистрация
 
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
29.09.2013, 23:32     вектор функций #1
Как правильно добавлять функции в вектор и вызывать их?
Вот допустим есть вектор
C++
1
std::vector<void (*)(int, int)> vector;
Он должен хранить в себе указатели на функции. Вот некоторые функции
C++
1
2
3
4
5
6
7
8
9
10
11
void function1(int x, int y) {
    std::cout<<"Function 1: "<<x<<" - "<<y<<std::endl;
}
 
void function2(int x, int y) {
    std::cout<<"Function 2: "<<x<<" - "<<y<<std::endl;
}
 
void function3(int x, int y) {
    std::cout<<"Function 3: "<<x<<" - "<<y<<std::endl;
}
Но когда я пытаюсь их добавить в вектор
C++
1
2
3
vector.insert(function1);
vector.insert(function2);
vector.insert(function3);
компилятор ругается.

Как правильно их добавить туда?
И вызвать их получается можно так?
C++
1
vector.at(0)(1,3);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 23:32     вектор функций
Посмотрите здесь:

C++ Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы
Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы C++
контейнер -вектор вложеный в вектор C++
C++ Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.
C++ задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
29.09.2013, 23:43     вектор функций #2
Цитата Сообщение от Artishok Посмотреть сообщение
компилятор ругается.
Так прочитайте, что компилятор пишет. Загляните в описание std::vector'а...
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
29.09.2013, 23:44     вектор функций #3
Цитата Сообщение от Artishok Посмотреть сообщение
компилятор ругается.
Может он ругается на неправильное использование метода insert !?
Paltus
3 / 3 / 0
Регистрация: 18.09.2013
Сообщений: 31
29.09.2013, 23:45     вектор функций #4
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
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <vector>
using namespace std;
 
void function1(int x, int y) {
    std::cout<<"Function 1: "<<x<<" - "<<y<<std::endl;
}
 
void function2(int x, int y) {
    std::cout<<"Function 2: "<<x<<" - "<<y<<std::endl;
}
 
void function3(int x, int y) {
    std::cout<<"Function 3: "<<x<<" - "<<y<<std::endl;
}
 
int main()
{   
    
    
    
    vector<void (*)(int, int)> vect;
 
    vect.push_back(&function1);
    vect.push_back(&function2);
    vect.push_back(&function3);
 
    vect.front()(1, 2);
 
    system("pause");
 
 
    return 0;
 
}
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
29.09.2013, 23:49  [ТС]     вектор функций #5
Цитата Сообщение от castaway Посмотреть сообщение
Может он ругается на неправильное использование метода insert !?
да. я только что сообразил что нужно не insert а push_back использовать.
Yandex
Объявления
29.09.2013, 23:49     вектор функций
Ответ Создать тему
Опции темы

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