Nic*_*sui 6 c++ arrays stl vector
我有以下代码初始化浮动向量:
std::vector<float> arr= { -11, -12, -45.3, -34.5, 110, 5, 10,3 ,22, 100, 1, 23 };
Run Code Online (Sandbox Code Playgroud)
但是我得到一个编译错误:
error C2398: Element '3': conversion from 'double' to 'float' requires a narrowing conversion
Run Code Online (Sandbox Code Playgroud)
如果我将第三个元素-45.3更改为-45,如下所示:
std::vector<float> arr= { -11, -12, -45, -34.5, 110, 5, 10,3 ,22, 100, 1, 23 };
Run Code Online (Sandbox Code Playgroud)
编译成功.
我想知道问题出在哪里?为什么-45.3在这里不被认为是浮动?因为-34.5是类似的情况.
我正在使用Visual Studio 2015和Windows 10.
谢谢.