我正在处理一个函数,该函数需要一些值并查找值的最小值,最大值和平均值。我通过引用传递的一切功能,我得到了一些错误,当我尝试做基本的操作,如+
和/
即误差无效操作数到二进制表达式,C
无效操作数的二进制表示(“双*”和“双* “)
void MinMaxAvg(double *pA, double *min, double *max, double *avg, int lines, double *total)
{
for (int i=0; i<lines; i++)
{
if (i==0)
{
min = &pA[0];
max = &pA[0];
}
else
{
if (&pA[i] < min)
{
min = &pA[i];
}
if (&pA[i] > max)
{
max = &pA[i];
}
}
total += &pA[i]; //<-- Errors on this line
}
avg = (total/lines); // <-- Errors on this line.
}
谢谢!这使得无限的感觉!彻底解决了我的问题。 – aprohl5
哪个编译器会在那里产生一个整数除法? –
很高兴它帮助你;) - @larsmans我已经看到至少有一些Borland的编译器套件版本在这种情况下产生整数划分。但奇怪的是,它并不总是这样做。似乎是某些版本的错误,但我猜测它不会是唯一的编译器。加入演员阵容没有伤害,所以安全性比对不起,对吧? – Magnus