У меня есть куча структур вроде:
struct A { ... }
struct B { ... }
struct C { ... }
Я хочу разработать функцию, которая может принимать массивы этих структур, выполнять итерацию по каждому элементу массива и вызывать другую функцию, например:
template <typename T>
ostream& process(ostream& os, const T* array) {
// output each element of array to os (but how do we know the length?)
}
A a_array[10];
process(a_array);
Я не могу передать размер массива явно, так как функция процесса на самом деле является оператором << () (я просто использовал процесс для демонстрационных целей) </p>
Обновление: здесь я не могу использовать ни один из контейнеров std. К сожалению, это должен быть массив!