C++ 从';浮动';至';长';需要缩小转换

C++ 从';浮动';至';长';需要缩小转换,c++,C++,我正在做一个我决定接的老项目,当我离开它时,我不记得有任何问题。然而,现在看来我有了。我确实遇到了以下错误:我不知道如何解决这个问题,因为我对c还是相当陌生的++ 从“float”到“LONG”的转换需要缩小转换范围 您可以使用强制转换使此警告静音: ... RECT{ static_cast<LONG>(Position.left + 3), ... and next fileds too 。。。RECT{static_cast(Position.left+3),…以及下一个文件

我正在做一个我决定接的老项目,当我离开它时,我不记得有任何问题。然而,现在看来我有了。我确实遇到了以下错误:我不知道如何解决这个问题,因为我对c还是相当陌生的++

从“float”到“LONG”的转换需要缩小转换范围


您可以使用强制转换使此警告静音:

... RECT{ static_cast<LONG>(Position.left + 3), ... and next fileds too
。。。RECT{static_cast(Position.left+3),…以及下一个文件

float
只是一种标准类型,但似乎
LONG
不是。什么是
LONG
?@ForceBru可能是
LONG
。这是一个适当的警告,不是所有可能的浮点值都可以转换为32位整数。使用强制转换告诉编译器您知道得更好,字体高度从来都不是一个奇怪的数字rge值。虽然+3的值有点偏大,但您应该将其四舍五入。检查它是否为像素而不是点当然也不会有什么坏处。有很多很好的理由给您一个警告:)
... RECT{ static_cast<LONG>(Position.left + 3), ... and next fileds too