Odpowiedź zależy od tego co chcesz uzyskać? :)
Ba, ogólne pytanie brzmi jak pamięć na tę tablicę była alokowana? Jeśli jako ciągła przestrzeń pamięci, najmniej problemów będziesz miał przy takiej sygnaturze funkcji:
void foo(int * table, std::size_t width, std::size_t height);
W środku będzie prosta arytmetyka wskaźników. No ale jeśli chcesz się męczyć, to można tak:
void foo(int table[3][3]);
Wtedy przyjmiesz tablice 3 x 3.
Jest jeszcze kilka innych sposobów.