作者chrishappy11 ()
看板C_and_CPP
標題[問題] 函數回傳陣列的問題
時間Tue Jul 24 18:39:53 2012
請問一下
小弟現在有個函數裡有陣列
但我在主程式中要呼叫它..確發生錯誤
error C2109: subscript requires array or pointer type
函數程式碼:
long double multiply_matrix_RP(int u0,int u1,int u2,int u3,int u4,int u5,int u6,int u7,int u8)
{
//u0,u1~u8 there are material array
long double _Rp[9];
for(int i=0;i<=8;i++){
_Rp[i]=EAI[i][0]*u0+EAI[i][1]*u1+EAI[i][2]*u2+EAI[i][3]*u3+EAI[i][4]*u4+EAI[i][5]*u5+EAI[i][6]*u6+EAI[i][7]*u7+EAI[i][8]*u8;
}
return _Rp[9];
}
主程式:
void CImp_simDlg::OnOK()
{
// TODO: Add extra validation here
double _Rp[9];
_Rp[9]=matrix_RP(AsSi_Rp[0],AsSi_Rp[1],AsSi_Rp[2],AsSi_Rp[3],AsSi_Rp[4],AsSi_Rp[5],AsSi_Rp[6],AsSi_Rp[7],AsSi_Rp[8]);
CDialog::OnOK();
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.183.156
推 LPH66:回傳陣列不是這樣傳的 請把陣列傳進去改值 07/24 19:27
→ purincess:我還以為他只是單純寫出邊界 原來是想要傳回九個double 07/24 19:51
→ purincess:可是這樣跟那個compile error還是沒關係?? 07/24 19:51
→ purincess:一樓你口試沒了阿? 07/24 19:52
是的..我要回傳9個值 請問該怎麼做?
我這樣子compile會出現
error C2109: subscript requires array or pointer type
※ 編輯: chrishappy11 來自: 123.110.183.156 (07/24 20:07)
※ 編輯: chrishappy11 來自: 123.110.183.156 (07/24 20:08)
→ leiyan:存在新空間傳指標再用迴圈抓出來 07/24 20:09
推 littleshan:改用 vector 直接傳出來 07/25 09:59