2010-04-29 40 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,查找使其不再使用的声明或标志,然后查找预处理器标志以禁用它。