[問題] 函數回傳陣列的問題

看板C_and_CPP作者時間13年前 (2012/07/24 18:39), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
請問一下 小弟現在有個函數裡有陣列 但我在主程式中要呼叫它..確發生錯誤 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

07/24 19:27, , 1F
回傳陣列不是這樣傳的 請把陣列傳進去改值
07/24 19:27, 1F

07/24 19:51, , 2F
我還以為他只是單純寫出邊界 原來是想要傳回九個double
07/24 19:51, 2F

07/24 19:51, , 3F
可是這樣跟那個compile error還是沒關係??
07/24 19:51, 3F

07/24 19:52, , 4F
一樓你口試沒了阿?
07/24 19:52, 4F
是的..我要回傳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)

07/24 20:09, , 5F
存在新空間傳指標再用迴圈抓出來
07/24 20:09, 5F

07/25 09:59, , 6F
改用 vector 直接傳出來
07/25 09:59, 6F
文章代碼(AID): #1G3djyAB (C_and_CPP)