なるほど・・ありがとうございます。
結構色々実装しないといけない感じになるんですね。

すみませんあともう1つ質問させていただきたいのですが、

int sample1[2][2] = {{1,2}, {1,2}};
int sample2[3][2] = {{1,2}, {1,2}, {1,2}};

int* p;
if (true) {
p = sample1;
} else {
p = sample2;
}


こういったことがしたいのですが、
p = sample1;
p = sample2;
の部分で
cannot convert error のような感じになってしまいます。

sample1 と sample2 の両方が格納できるような変数を作りたいのですが、
どのような書き方をすればいいでしょうか。
アドバイスいただけると嬉しいです。