我正在尝试将数据从一个容器传输到另一个容器:
#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 中收到三个 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));
}