C ++ Generic Templated Functs в качестве аргументовC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++ Generic Templated Functs в качестве аргументов

Сообщение Anonymous »

Я узнаю об использовании шаблонных функций, а также о указателях функций в C ++, и пытаюсь достичь следующего поведения: < /p>

Код: Выделить всё

template 
T plus(T n1, T n2) {
return n1 + n2;
}

template 
void do_oper(Oper op, bool b) {
if (b) {
op(3, 5);
} else {
op(2.3, 2.6);
}
}

int main() {
do_oper(plus, true);

return 0;
}
< /code>
Приведенный выше код не компилируется, но поведение, надеюсь, очевидно. Цель состоит в том, что шаблонная функция операции плюс 
должна быть передана в do_oper из Main без Main , зная тип, который будет сгенерировать, который плюс будет сгенерирован. Я уверен, что мой язык не совсем правильный, но я просто спрашиваю, возможно ли этот тип поведения? Я пробовал множество методов, включая шаблон шаблон по сравнению с DO_OPER с классом обертки вокруг плюс , но они все еще требуют спецификации типа плюс в Main .
Любая помощь будет благодарна, даже если это поведение невозможно. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/795 ... -arguments
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»