2013-03-01 2 views
0

Не уверен, что вызывает следующее предупреждение, которое, как я прочитал, может быть проигнорировано 32 бит:Boost.Serialization Предупреждение

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

Я выполняю рутинную Повысьте сериализации и программа работает прекрасно. Проблема возникает только в том случае, если у компилятора возникли проблемы со следующим кодом:

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

Любая идея, что с этим связано?

ответ

1

std::streamsize является подписанным интегральным типом. size_t - это целочисленный тип без знака.

Это небезопасное преобразование, потому что это может привести к потере данных. Компилятор обнаруживает небезопасное преобразование и выдает предупреждение.

 Смежные вопросы

  • Нет связанных вопросов^_^