2010-04-29 5 views
0

부스트 헤더 파일에서 sgetn을 _Sgetn_s로 변경해야합니다. http://www.boost.org/doc/libs/1_40_0/boost/archive/basic_binary_iprimitive.hpp 함수가 무엇인지 모르겠으므로 직접 수정하는 것이 두려워요.sgetn이 더 이상 사용되지 않음

+0

왜 변경해야한다고 생각하십니까? 당신이하고있는 일과 그 문제가 무엇인지 설명해 주시겠습니까? –

+0

예! 컴파일러 경고가 표시됩니다. "sgetn은 deprecated로 선언되었습니다." – user1244

+0

변경 사항 헤더 파일을 변경 하시겠습니까? 나쁜 생각. 왜이 경고가 당신에게 그렇게하도록 강요합니까? –

답변

0

수정하지 않는 -Wno-deprecated를 사용하여 컴파일 할 수 있습니다. (또는 MSVC에 상응하는 것)

나는 부스트 1.42.0에있는 헤더와 헤더를 비교했다. sgetn과 관련된 변경 사항은 없습니다. _Sgetn_s는 Microsoft C++ 관련 최적화 프로그램입니다. sgetn은 더 이상 사용되지 않습니다.

1

헤더 파일을 직접 편집하지 않는 것이 좋습니다. 대신 MSVS의 명령 줄 옵션에/wd4996 플래그를 넣어 관련 경고를 표시하지 않을 수 있습니다.

Here MSDN에서 다양한 경고 수준에 대해 자세히 읽을 수 있습니다.

1

Charles가 말한 것처럼 sgetn은 더 이상 사용되지 않으며 C++ 0x 표준 초안에서도 특정 용도를 권장합니다. 구현의 코드 basic_streambuf을 살펴보고, 더 이상 사용되지 않게하는 선언 또는 플래그를 찾아 사용하지 않으려는 전처리 기 플래그를 찾으십시오.

관련 문제