いくつかの簡単な質問があります:-
通常の C++ コンパイラによると、次は正しいですか?
int arr[3][4]; void func(int *a, int m, int n) { int i,j; cin>>i>>j; cout<< a[i*n + j]; //is this way of addressing correct provided 0<=i<m and 0<=j<n } int main() { func((int*)arr, 3,4); }
配列の境界が厳密に定数式でなければならない場合、次のコードでコンパイル エラーが発生しないのはなぜですか?
int func(int m, int n) { int arr[m][n]; //m and n are not known until run time }