从“double”到“float”的转换需要缩小转换

Ris*_*ish 0 c++ floating-point vector

我有以下几行代码:

std::vector<float> qualities = { 0.5, 0.6, 0.7, 0.8 };
std::vector<float> percentages = { 0.15, 0.16, 0.17, 0.18 };
Run Code Online (Sandbox Code Playgroud)

我收到每个元素标题中提到的错误。这是为什么?

Pau*_*ers 5

您得到消息是因为形式(例如)的常量0.5是 a double,并且将 a 分配double给 afloat是一种缩小转换。

要解决此问题,请附加f到您的每个常量,例如0.5f.