代码之家  ›  专栏  ›  技术社区  ›  Anthony Atmaram

Visual Studio警告C4996

  •  34
  • Anthony Atmaram  · 技术社区  · 14 年前

    我收到以下警告

    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\u buffer有关。

    这是安全的忽略或我可以删除它吗?

    2 回复  |  直到 14 年前
        1
  •  56
  •   Community CDub    8 年前

    首先,我想说我非常喜欢编译器警告。我用-Wall-Wextra调用gcc。

    同时检查 this that

        2
  •  0
  •   S.S. Anne    5 年前

    生成此错误是因为编译器生成的代码不是线程安全的。这意味着,如果您使用多线程编码,由于内部I/O缓冲区是共享的,所以您的一些流I/O可能会丢失(也可能会丢失)。建议的替代函数将“消除”此问题。