我收到以下警告
warning C4996: 'std::_Uninitialized_copy0': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' c:\program files\microsoft visual studio 10.0\vc\include\memory 348
我似乎无法找到任何有助于打击此警告的信息。通过查看输出,这个警告似乎与Boost.Signals2和auto_buffer有关。
这样可以安全忽略,还是可以以某种方式将其删除?
答案 0 :(得分:51)
答案 1 :(得分:0)
生成此错误是因为它生成的代码不是线程安全的。这意味着如果您使用多线程编码,您的某些流I / O可能(并且可能会)丢失,因为内部I / O缓冲区是共享的。建议的替代函数消除了这个问题。