Multi-dimensional casting in C/C++