Это называется Non Type Template Parameter (NTTP). Передавать туда можно только константы (если не пытаться взорвать себе мозг). Объявить такой шаблон можно следующим образом:
template <size_t size>
struct Array {
MyClass data[size];
};
Array<5> a;
a.data[2] = ...;
Определение методов оставлю как упражнение для читателя.
В std::array два параметра шаблона: тип и константа, так что он применим не только для MyClass, но и для любых других типов.