当我在Visual Studio 2015中编译它时出现错误:错误C2398:元素'1':从'double'转换为'float'需要缩小转换
vector<float> v {2.46, 2.58, 2.0, 2.25, 3.0 };
但这有效
vector<float> v{ (float)2.46, (float)2.58, (float)2.0, (float)2.25, (float)3.0 };
这段代码是否有优雅的解决方案,所以我不必将所有输入都浮动? 也许调整initializer_list?
答案 0 :(得分:5)
无耻地窃取igor-tandetnik的评论:
vector<float> v {2.46f, 2.58f, 2.0f, 2.25f, 3.0f };
然后补充它以使其成为答案:
文字0.42
的类型为double。要拥有float类型的文字,您需要f
后缀:0.42f
。