Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Lensato
49 / 49 / 24
Регистрация: 07.10.2015
Сообщений: 170
#1

Передача функции как параметр шаблона - C++

10.12.2015, 14:52. Просмотров 471. Ответов 2
Метки нет (Все метки)

Хочу передавать в шаблон любую функцию без параметров и вызывать ее из него.
Как это сделать?

Не работает, но примерно так должно быть:
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>
 
using std::cout;
using std::endl;
 
template <typename T>
void printSomething(T func)
{
    func;
}
 
void printHello() { cout << "Hello"; }
void printWorld() { cout << "World"; }
 
int main()
{
    printSomething(printHello);
    cout << ' ';
    printSomething(printWorld);
 
    cout << endl << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2015, 14:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача функции как параметр шаблона (C++):

Результат работы функции как параметр шаблона - C++
В старом с++ билдере такое работало, новый clang ругается. template &lt;class T, const IID* piid = &amp;__uuidof(T)&gt; class CComQIPtr { .. ...

Передача размерности массива как параметр из одной функции в другую. - C++
Вообщем написал программу. Всё работает как надо, кроме одного, никак не могу сделать чтобы размерность массива, которая вводится в &quot;main&quot;...

динамическое создание двумерного массива и передача его как параметр функции - C++
Здравствуйте, подскажите пожалуйста, как можно передать параметром динамически созданный массив в функцию. Желательно пример. Буду очень...

Свой тип как параметр шаблона - C++
Есть вопрос по коду: #include &lt;iostream&gt; #include &lt;memory&gt; #include &lt;vector&gt; using namespace std; template&lt;class T&gt; class...

Как можно изменить параметр шаблона (template)? - C++
есть такие классы: class abstract { public: virtual int method() = 0; // Допустим }; class A: public abstract {

Передать шаблонный класс, как параметр шаблона - C++
нужно не используя stl написать аналог класса list. написал болванку и застрял template&lt;class C&gt; class node{ protected: C *_next; ...

2
daslex
1288 / 532 / 110
Регистрация: 02.08.2011
Сообщений: 2,754
10.12.2015, 14:53 #2
C++
1
2
3
4
5
template <typename T>
void printSomething(T func)
{
    func(); //Как функцию.
}
1
Lensato
49 / 49 / 24
Регистрация: 07.10.2015
Сообщений: 170
10.12.2015, 14:55  [ТС] #3
00 омг, пробовал так на сложном примере, а на простом не догадался
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2015, 14:55
Привет! Вот еще темы с ответами:

Указатель на статический массив как параметр шаблона - C++
Добрый день. Необходимо параметр шаблона сделать указателем и передавать в него указатель на статический массив: template&lt;size_t...

Зачем нужен шаблон как параметр шаблона? - C++
Видел много примеров, но что-то не особо понятно зачем и как это работает.

Параметр шаблона класса как собственный тип данных - C++
Приветствую. Такой вопрос: как перегрузить операторы класса-шаблона, где в качестве аргумента шаблона выступает собственный тип данных....

Кортеж с абстрактным типом как параметр шаблона + smart_ptr - C++
Имеем кортеж (std::tuple) с абстрактным типом, параметризуем этим шаблон класса, экземпляров кортежа нигде не создаём. Создаём экземпляры...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru