У меня есть шаблон функцииЕсть ли способ, чтобы создать функцию специализацию шаблона для станда :: массива
template<typename T>
void output(T& value)
{
}
Есть ли способ для создания специализации для объектов вывода станда :: массива? Да, я знаю, что массивы разных размеров различны.) Я просто надеюсь, что есть способ в C++ 11
¤ Технически, что вы после этого - перегрузка. Он просто выглядит как 'template void output (std :: array const & a) {blah}'. Вы могли бы сделать его гораздо более общим, вместо этого предложив версию с двумя итераторами, возможно, в комплекте с одной штукой. Cheers & hth., –
Вы действительно хотели написать 'T &', чтобы функция не вызывалась с помощью 'T const' или rvalue, или это должно быть' T const & '? –
@Alf: что заставляет вас думать, что шаблон, записанный, не может быть создан с использованием типа const, как 'T'? Вывод аргумента из rvalue вызывает проблемы здесь, вам нужно написать 'foo (1);', но вывод аргумента из 'T const' не имеет значения:' const int i = 1; Foo (я); '. –