Относительно Функция передана как аргумент шаблона, ответ сообщества wiki, предоставленный Беном Супником, обсуждает проблему встраивания созданных шаблонов функций.
В этом ответе приведен следующий код:
template<typename OP>
int do_op(int a, int b, OP op)
{
return op(a,b,);
}
int add(int a, b) { return a + b; }
int (* func_ptr)(int, int) = add;
int c = do_op(4,5,func_ptr);
В ответе говорится (в отношении последней строки, которая создает экземпляр шаблона функции do_op
):
ясно, что это не делается.
Мой вопрос таков: почему ясно, что это не делается встраиванием?