The way you do this depends on what kind of multidimentional array you're dealing with, as each kind is unique and they cannot be interchanged (ie: writing a function that works for one kind will not worth with the other kinds).
Outlines of how to pass each kind to a function are in this thread, along with some reasons why you should try to avoid MD usage and some alternatives:
well, i wouldnt use MD arrays without a reason, i use it to create a tile map. i want to pass it to another function to avoid having to declare it inside of a public function. would it be very dumb to just declare it in a public function?
I remember reading about doing this, but never bothered remembering it as I myself hadn't found a need to do such a thing (yet). I'm thinking it says that you only have to specify the second part of the array?
1 2 3 4
int array[2][4] = {'\0'};
void function(array[][4]);
Could be wrong as I'm pulling that from reading memory and not actual usage memory.
well it does seem from what i have read, that you personally dont like the MD arrays, not that they are bad programming. i am i no way at all a very good programmer, but i wont change up my code based on one other programmers opinion, at least not before i know that is the only way to do something. i prefer to try t find a way that works for me, hence why i posted this post in hopes of finding a way to pas on a multidimensional array.
If you're using simple pointers arrays, just pass their pointers. If you're not familiar with that, use std vector, and pass by reference to avoid unnecessary copying