Array and bitWrite

I am currently using an Uno for testing some code,
will buy a Mega when it's time to build.

That is the exact opposite of what you should be doing.
You should develop code on a system with lots of resource and then cut this down when you know exactly how much resource you need.

But, if I replace "int16_t" by "byte" in the declaration of the array, I still have an error occuring :

This is because you declared the variable array as having three dimensions and yet when you used it you only gave it two indices.