Я узнаю об использовании шаблонных функций, а также о указателях функций в 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