小编Oli*_*erD的帖子

如何解决在容器之间传输数据时可能丢失的数据警告?

我正在尝试将数据从一个容器传输到另一个容器:

#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());
}
Run Code Online (Sandbox Code Playgroud)

在VS2005中,我在base.hpp中得到三个C4244警告,说"从'const int'转换为'const float',可能会丢失数据."

现在我理解了警告,这是合法的警告.但是在我的特定情况下,数据丢失可以忽略不计.有没有办法承认警告而不必像这样做一个循环?

for (std::vector<int>::const_iterator it; it != input_data.end(); ++it)
{
    output_data.push_back(static_cast<float32>(*it));
}
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
1212
查看次数

标签 统计

c++ ×1