【问题标题】:VS2012 bind2nd is not a member of stdVS2012 bind2nd 不是 std 的成员
【发布时间】:2014-02-17 16:29:18
【问题描述】:

我有一些代码已经在 vs2008 上运行,我正在尝试将它移植到 vs2012。在这个源代码上,我使用了指定的函数 bind2nd 并使用了 std::bind2nd 并且一切正常。当我用 vs2012 编译相同的代码时,我得到一个错误,说 bind2nd 不是 std 的成员。我检查了 msdn,它说这是“功能”库的一部分。当我在我的盒子上寻找它时,我发现它不在其中,而是在 xfunctional 中,当 rc_invoked 未定义时,它包含在功能中。我的第一个想法是我定义了 rc_invoked 但我证明它不是。因此,遵循包含此 bind2nd 的链应该是 std 的一部分,我的代码不应该失败,但确实如此。我的想法已经用完了,所以任何想法都会受到欢迎。

干杯

【问题讨论】:

  • 您是否包含了<functional> 标头? std::bind2nd 已弃用,这意味着它应该仍然存在。

标签: c++ visual-studio-2012 c++11 std bind2nd


【解决方案1】:

我没有 MS VC++ 2012,但您应该检查是否在包含在 std::namespace 中的某个名称空间中定义了 bind2nd,或者需要定义一些清单常量以使用 bind2nd。虽然如果您在程序中明确包含标头 <functional> 看起来很奇怪。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多