簡體   English   中英

從“double”到“float”的轉換需要縮小轉換

[英]conversion from 'double' to 'float' requires a narrowing conversion

我有以下代碼行:

std::vector<float> qualities = { 0.5, 0.6, 0.7, 0.8 };
std::vector<float> percentages = { 0.15, 0.16, 0.17, 0.18 };

我得到了每個元素的標題中提到的錯誤。 這是為什么?

您收到消息是因為0.5形式的常量是double ,而將double分配給float是縮小轉換。

要解決此問題,請將 append f設為您的每個常量,例如0.5f

從“double”到“float”的轉換需要縮小轉換

我得到了每個元素的標題中提到的錯誤。 這是為什么?

因為您正在使用雙文字構造浮點向量。 這種轉換正在縮小。

也就是說,在此上下文中允許進行此類轉換,並且該示例格式正確,應該可以編譯。 我懷疑您使用了一些編譯器選項來要求編譯器不要編譯一些格式良好的程序。

您可以通過將f附加到 double 文字來編寫 float 文字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM