我想下面的代碼爲多維數組。它給SEG
錯誤 我不知道這是什麼問題。reinterpret_cast <double**>賽格故障
static void read(double **arr){
//REQ arr to be pointing to array[5][4]
//EFF prompt the use to input the data
//Mod array pointer by **arr
int i(0) , j(0);
double tmp ;
for(i=0 ; i<4 ; i++){
for(j=0 ; j<5 ; j++) {
cout <<"Please enter Data#"<< (j+1) << " File#" << (i+1) <<" "<<flush;
cin >> tmp ;
arr[j][i] = tmp ;
}
}
return ;
}
int main(){
double arr[5][4] ;
read(reinterpret_cast<double**>(arr)) ;
}
我在做什麼錯在這裏?
是否有任何C的reinterpret_cast ? – 2013-12-18 11:39:51
@NishithJainMR這不是C.我不知道他爲什麼使用這個標籤。 – 0x499602D2
C++中的數組沒有實現爲指向指針的指針。它被實現爲連續的記憶部分。所以'arr [2] [3]'更可能相當於'arr + 2 *(sizeof(int)* 4)+ 3 * sizeof(int)' –