作者chenhusya (George)
站内C_and_CPP
标题[问题] 函数传回阵列
时间Sun Sep 13 14:51:53 2009
CNUM e3col(CNUM z[51][1], CNUM w[51][1], CNUM e3[51][1])
{
int i ,j;
CNUM value[51][1];
for(i=0;i<51;i++)
{
for(j=0;j<1;j++)
{
value[i][j] = cpmul(&z[i][j],&w[i][j]);
e3[i][j].rpart = value[i][j].rpart * (-1);
e3[i][j].ipart = value[i][j].ipart * (-1);
}
}
}
我想把值储存在e3[51][1]里面回传到主函式~~~
我在dev c 里面可以执行
但是弄到 visual c 里没办法使用 他会显示 error c7416 必须传回值
我已经把值传入e3里面了,应该不用再传回值了,想说要修改成传回矩阵
那要怎麽改!?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.74.245.165
1F:→ yan04870449:你宣告函式要回传一个 CNUM 型态的资料。所以要回传一 09/13 14:58
2F:→ yan04870449:个CNUM型态的资料回去? 09/13 14:58
3F:→ chenhusya:恩 09/13 15:05
4F:→ VictorTom:问题1, 你的函数没有回传值, 虽然这个函数我也不懂回传 09/13 15:11
5F:→ VictorTom:一个CNUM要干麻, 因为你似乎是要把结果写进e3[][]里. 09/13 15:11
6F:→ VictorTom:问题2, 你应该在呼叫这个函数的地方/之前先配置好e3要用 09/13 15:12
7F:→ VictorTom:的空间(不管静态或动态阵列), 然後把位址传进函数, 这样 09/13 15:12
8F:→ VictorTom:函数里直接对e3的位址写值就相当於把结果写回去了:) 09/13 15:16
9F:→ chenhusya:恩 谢谢 我了解了 09/13 15:17