Я хотел бы написать шаблон функции, например
template< typename T >
void foo( T& obj ){
obj[0] = xxxxxx;
}
где T должен иметь применимый оператор [].
T может быть массивом любого типа, std :: vector, std :: array или любого другого типа. Итак, я не могу использовать T как суперкласс всех из них. Я думаю, это должно быть что-то вроде стиля std :: type_traits.
foo(1)
? Как написано, это ошибка времени компиляции, которая на первый взгляд является правильным ответом. - person Pete Becker   schedule 01.05.2016