>>311
引数の書き換えによる呼び出し元への渡しじゃなく
戻り値じゃだめなの?

int を引数書き換えで戻す func(int *a) { *a = こっちで設定した値 }

型type を 引数書き換えで戻すのは func(type *a) になる
2次元配列(ポインタ配列) double** を type とみなすのなら
func(double*** a) になるんじゃないか?