Boost.Serialization警告

时间:2013-03-01 18:24:33

标签: c++ compiler-warnings boost-serialization

不确定是什么导致了以下警告,正如我所读,可以安全地忽略32位:

conversion from 'std::streamsize' to 'size_t', possible loss of data

我正在执行常规的Boost序列化,程序运行良好。唯一的问题是编译器在以下代码中存在问题:

while compiling class template member function 'void boost::archive::basic_binary_iprimitive<Archive,Elem,Tr>::load_binary(void *,size_t)'

知道这是怎么回事?

1 个答案:

答案 0 :(得分:1)

std::streamsize是带符号的整数类型。 size_t是无符号整数类型。

这是一种不安全的转换,因为它可能会导致数据丢失。 编译器检测到不安全的转换并发出警告。