You may not declare a multidimensional array as a function parameter without specifying its bounds except the first as the error message says..
Use std::vector instead.
For example
1 2 3 4 5 6 7 8 9
void printMatrix( const std::vector<std::vector<int>> &m ){
cout << "Matrix :" << endl;
for ( size_t r=0; r < m.size(); r++){
for( size_t c = 0; c < m[r].size(); c++ ){
cout << m[r][c] << "\t";
}
cout << endl;
}
}