My question is about the future releases: Is it clear now what this maximum dimension will be in the future Root releases? Will it remain 5, will it increase or (hopefully not) decrease?
Or perhaps there is a way to circumvent the ‘default’ maximum dimension for arrays of non built-in types in current Root release?
for CINT, the maximum array dimension is 4; if you have found a case where 5 dimensions work then you’re lucky - but 4 is what we support.
There are no plans to remove or extend this limitation; it is hard wired in several of CINT’s internal data structures. The work-arounds I can come up with are:
use pointers and hide the array-ness from CINT,
hide the types from CINT,
show pointers for CINT but arrays to the compiler using #ifdefCINT
create a class that wraps arrays after every 4th dimension
use nested std::vectors (and a dictionary for them).