警告C4244:'argument':从'int'转换为'float',可能导致数据丢失(C ++)

时间:2012-01-13 21:57:17

标签: c++ warnings

struct Vector {

    float i,j,k;

} std::vector pt[size];

... = ... + pt[temp];

temp的类型为int。编译器将警告作为标题。

2 个答案:

答案 0 :(得分:0)

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

可能的原因可能是

int x = 7331;
float y = x;

答案 1 :(得分:0)

很难说你已经隐藏了很多代码,我们无法看到存储在std :: vector中的数据类型,因为你发布了错误代码或删除了模板参数。

正在添加什么? pt存储花车吗?像这样的一行:

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

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