Is it possible in C++ to write this:
template <typename T, size_t dim, size_t len>
using A = /* something */;
that will make these two lines equivalent:
/* 1 */ A<int, 3, 5> a; A<char, 5, 3> c;
/* 2 */ int a[5][5][5]; char c[3][3][3][3][3];
?