|  |  | 
|  |  | 
cannot convert `int (*)[4]' to `int**' for argument `1' to `void printMatrix(int**, int, int)' |  |  | 
|  |  | 
|  |  | 
| void printMatrix(int matrix[4][], int r, int c); | 
|  |  | 
|  |  | 
void printMatrix(int matrix[][4], int r, int c){|  |  | 
| It wasn't THAT invalid. void printMatrix(int matrix[][4], int r, int c){ was the correct way to do it. We couldn't just arbitrarily choose which one we were going to define, it had to be the last one. |