我試圖將數據從一個容器轉移到另一個:如何解決在容器間傳輸數據時可能發生的數據丟失警告?
#include <vector>
int main()
{
std::vector<int> input_data;
std::vector<float> output_data;
output_data.insert(output_data.end(), input_data.begin(), input_data.end());
}
在VS2005,我得到了base.hpp 3個C4244警告說:「從‘const int的’到‘常量浮動’的轉換,可能的損失數據的。」
現在我明白了這個警告,這是一個合法的警告。但在我的特殊情況下,數據的丟失是微不足道的。有沒有辦法承認警告,而不必像這樣做一個循環?
for (std::vector<int>::const_iterator it; it != input_data.end(); ++it)
{
output_data.push_back(static_cast<float32>(*it));
}
明確施放。 –
我正在尋找一種方法來做到這一點_without_循環和顯式強制轉換。 – OlivierD
我認爲「轉換」與演員陣營將會發揮作用 - 你需要一個強制轉換才能在沒有警告的情況下轉換類型,所以你不能真正避免這種情況。 [除非你關掉警告,那是]。 –