あるコンテナから別のコンテナにデータを転送しようとしています:
#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 に「'const int' から 'const float' への変換、データが失われる可能性があります」という 3 つの C4244 警告が表示されます。
今、私は警告を理解しました。これは正当なものです。ただし、私の特定のケースでは、データの損失はごくわずかです。このようなループを実行せずに警告を確認する方法はありますか?
for (std::vector<int>::const_iterator it; it != input_data.end(); ++it)
{
output_data.push_back(static_cast<float32>(*it));
}