一个VC初级问题,请大虾们帮忙看看该如何修改,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/07 00:36:00
error: pointer addition requires integral operand
代码段如下:
int i,j;
float x=-0.0001*i*i+0.9467*i+0.0044*j+0.0863;
float y=-0.0001*i*j-0.0011*i+0.9559*j-0.2709;
if(x-(int)x>0.5)
{
x=(int)x+1;
}
else
{
x=(int)x;
}
if(y-(int)y>0.5)
{
y=(int)y+1;
}
else
{
y=(int)y;
}
(int)x;
(int)y;
*(m_pImgDataOut+x*lineByte+y)=*(m_pImgData+i*lineByte+j);
请问该如何改啊?

确认一下+x*lineByte+y 计算后 是否为整数

看看你的y如何定义的。

改为 *(m_pImgDataOut+x*lineByte+(int)y)=*(m_pImgData+i*lineByte+j);

试试,
另,
if(y-(int)y>0.5)
{
y=(int)y+1;
}
else
{
y=(int)y;
}

C里面有专门的函数实现些功能,不用这样麻烦。。