c++编译时老是出现 warning c4244:‘argument’:conversion from 'double' to 'int'

我的程序相关片段:
类内:complex operator+(complex&);
friend complex operator+(complex&s,double d)
{
double r=s.real+d;
double i=s.imag;
complex result(r,i);
return result;
}
类外:complex complex:: operator+(complex&s)
{
double r=real+s.real;
double i=imag+s.imag;
complex result(r,i);
return result;
}
求大神帮我解答最好能改成正确的!谢谢!

数据类型不符合自动转换的,在传递时被隐式的强制转换了并给出了一个警告, 如果你可以确认转换无数据丢失,则可以忽略它 或 加一个显式的强制类型转换以便编译器不再报警 不过,一定要小心,一般的有警告的地方,很可能是真的存在错误追问

这个是警告,不过确实我的小数都没有了 全是整数了,我不知道该怎么改,因为初学这方面,所以如果您能帮我改一下的话真的很感谢~

温馨提示:答案为网友推荐,仅供参考
相似回答