- #include <cstddef> 
- #include <iostream> 
- using namespace std; 
-   
- template<size_t N, size_t M> 
- void printPtr( int(&A)[M][N]) { 
-    for(int i=0; i < M; i++){ 
-         for(int j=0; j<N; j++) { 
-             cout << A[i][j] << " "; 
-         } 
-         cout << endl; 
-     } 
- } 
-   
- int main() { 
-   
-     int A[][3] = { 
- 			{ 1, 2, 3 }, 
- 			{ 4, 5, 6 }, 
- 			{ 7, 8, 9 }, 
- 			{ 10, 11, 12 } 
- 	}; 
-   
- 	int(*ptrA)[4][3] = &A; // Not a decayed type 
- 	printPtr(*ptrA); 
- 	printPtr(A); 
- } 
				I2luY2x1ZGUgPGNzdGRkZWY+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPHNpemVfdCBOLCBzaXplX3QgTT4Kdm9pZCBwcmludFB0ciggaW50KCZBKVtNXVtOXSkgewogICBmb3IoaW50IGk9MDsgaSA8IE07IGkrKyl7CiAgICAgICAgZm9yKGludCBqPTA7IGo8TjsgaisrKSB7CiAgICAgICAgICAgIGNvdXQgPDwgQVtpXVtqXSA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KfQoKaW50IG1haW4oKSB7CgogICAgaW50IEFbXVszXSA9IHsKCQkJeyAxLCAyLCAzIH0sCgkJCXsgNCwgNSwgNiB9LAoJCQl7IDcsIDgsIDkgfSwKCQkJeyAxMCwgMTEsIDEyIH0KCX07CiAgICAKCWludCgqcHRyQSlbNF1bM10gPSAmQTsgLy8gTm90IGEgZGVjYXllZCB0eXBlCglwcmludFB0cigqcHRyQSk7CglwcmludFB0cihBKTsKfQ==