警告 C4244:'argument':从 'int' 转换为"浮点",可能会丢失数据 (C++)

warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data (C++)

本文关键字:数据 C++ argument C4244 int 转换 警告 浮点      更新时间:2023-10-16
struct Vector {
    float i,j,k;
} std::vector pt[size];
... = ... + pt[temp];

temp属于 int 型。编译器将警告作为标题。

您收到此警告是因为编译器正在隐式将int转换为float

可能的原因可能是这样的

int x = 7331;
float y = x;

很难说,因为你已经隐藏了大部分代码,而且我们看不到存储在 std::vector 中的数据类型,因为你要么发布了错误的代码,要么删除了模板参数。

正在添加什么?pt商店有浮子吗?像这样的一行:

    float x = 5.0f;
    int y = 2 + x;

可能会生成此警告,因为会将 x 隐式转换为 int。