2013-03-01 3 views
0

의 I 읽으면서, 안전하게 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은 부호없는 정수 유형입니다.

데이터가 손실 될 수 있으므로 안전하지 않은 변환입니다. 컴파일러가 안전하지 않은 변환을 감지하고 경고를 발행합니다.