傳址呼叫為何compiler不過? |
尚未結案
|
sunnysophia
一般會員 發表:8 回覆:4 積分:2 註冊:2004-11-15 發送簡訊給我 |
|
chris_shieh
高階會員 發表:46 回覆:308 積分:240 註冊:2004-04-26 發送簡訊給我 |
|
sunnysophia
一般會員 發表:8 回覆:4 積分:2 註冊:2004-11-15 發送簡訊給我 |
引言: 這個錯誤訊息跟傳址無關 你的ai() 回傳值是 void void ai(......double* A5) 但是你在main()中把 ai 回傳值指定給 a[i][d] 所以才會產生這個錯誤訊息發表人 - sunnysophia 於 2004/12/24 14:11:46double ai(..., ..., double *A5) <---點點點代表其他的參數宣告 { ..... ..... for(d=0;d<4;d ) { A5[d] = A3[d] / A4; } //記得要return回 }//////////////////////////////////////////////////////////////// 首先謝謝您的回答 不過我有試過 如果我寫 double ai(......double* A5) { ..... ..... for(d=0;d<4;d ) { A5[d] = A3[d] / A4; } return <--------------------------我一定要寫return的 } 若寫return *A5 他也只傳一個 而且是A5[0] 也就是說 他每次都傳A5[0]給a[0][0],a[0][1],a[0][2],a[0][3] 這樣就不對了... 所以我才會想要”傳址” 但編譯還是不過... |
psl
一般會員 發表:6 回覆:30 積分:7 註冊:2003-06-11 發送簡訊給我 |
|
chris_shieh
高階會員 發表:46 回覆:308 積分:240 註冊:2004-04-26 發送簡訊給我 |
*A5 傳回值本來就會變成第0個element
因為A5 本身就是 Array address pointer (指向第0個element)
double ai(..., ..., double *A5, int idx) <---點點點代表其他的參數宣告 { ..... ..... for(d=0;d<4;d ) { A5[d] = A3[d] / A4; } return *(A5 idx); } void main() { double a[3][4] ..... ..... for (i=0;i發表人 - chris_shieh 於 2004/12/24 15:14:52 |
海星
高階會員 發表:41 回覆:217 積分:106 註冊:2003-01-09 發送簡訊給我 |
引言: 若寫一個函式如下發表人 - 海星 於 2004/12/26 23:51:42void ai(..., ..., double *A5) <---點點點代表其他的參數宣告 { ..... ..... for(d=0;d<4;d ) { A5[d] = A3[d] / A4; } } void main() { double a[3][4] ..... ..... for (i=0;i |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |