Для этой упрощенной части кода я получаю следующую ошибку:
ошибка: слишком мало аргументов для функции std:: cout < F();
int g(int a = 2, int b = 1)
{
return a + b;
}
template<class Func>
void generic(Func f)
{
std::cout << f();
}
int main()
{
generic(g);
}
Я не могу понять причину того, почему параметры по умолчанию f
не передаются в функцию generic
. Он ведет себя как f
не имеет параметров по умолчанию...
Что там не так?
Как правильно перенаправить параметры по умолчанию?