2010-04-29 68 views
0

我需要在這裏升壓頭文件中將sgetn更改爲_Sgetn_s http://www.boost.org/doc/libs/1_40_0/boost/archive/basic_binary_iprimitive.hpp我不知道該函數做了什麼,所以我害怕自己編輯它。sgetn宣佈不推薦

+0

爲什麼你認爲你需要改變它?你能描述一下你在做什麼,問題是什麼? – 2010-04-29 09:21:26

+0

是的!我得到一個編譯器警告「sgetn聲明已棄用」 – user1244 2010-04-29 09:24:11

+0

你想更改boost頭文件嗎?餿主意。爲什麼這個警告迫使你這樣做? – 2010-04-29 10:21:37

回答

0

您可以使用-Wno-deprecated編譯而不修復它。 (或MSVC等效)

我比較了Boost 1.42.0中的頭文件。沒有與sgetn相關的更改。 _Sgetn_s是一個Microsoft C++特定優化。 sgetn不被棄用。

1

我不建議您直接編輯頭文件,但可以將標誌/ wd4996放入MSVS的命令行選項中以禁用相關警告。

Here您可以閱讀有關MSDN上不同級別警告的更多信息。

1

正如Charles所說,sgetn不被棄用,甚至草案C++ 0x標準都建議使用它。建議您查看您的實現代碼basic_streambuf,查找使其不再使用的聲明或標誌,然後查找預處理器標誌以禁用它。