繁体   English   中英

警告C4244:“参数”:从“双精度”转换为“整数”,可能丢失数据

[英]Warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data

我正在进行人脸识别,并且在编译时出现错误。 我显示窗框的代码如下:

int pos_x = std::max(face_i.tl().x - 10, 0);
int pos_y = std::max(face_i.tl().y - 10, 0);
putText(original, box_text, Point(pos_x, pos_y), FONT_HERSHEY_PLAIN, 1.0, CV_RGB(0,255,0), 2.0);

我在第三行收到此错误: warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data

如何编辑我的代码以解决此问题?

根据文档 ,第七个参数是

int thickness = 1

您正在传递浮点文字2.0 ,需要将其转换为int ,并且将编译器配置为警告此类“缩小”的转换。 这是一个好主意,因为它们经常会导致错误。

最好的解决方案是传递不需要转换的整数文字2

我猜这是最后一个参数,2.0尝试只写2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM