According to typeid(array).name() it is PAN_i in G++ 4.8.4. I know P means pointer and i means int, but what type is A and why is there only second dimension - N - and not the first - M.
What should I type instead of auto in auto array = new int[M][N]?
Is there a way to assign array to int**?
Another issue is M and N must be compile-time constants. If they are not, I guess my only option is the dynamic C++03 2D arrays.