#include int (*foo())[5] { return new int[3][5]; } int main() { int (*ptr_to_array)[5] = foo(); for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { static int counter = 0; ptr_to_array[i][j] = counter++; } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { std::cout << "[" << i << "][" << j << "] = " << ptr_to_array[i][j] << std::endl; } } delete [] ptr_to_array; return 0; }