代码之家  ›  专栏  ›  技术社区  ›  Nick Heiner

C++:Tr1::绑定(C2065)的故障

  •  1
  • Nick Heiner  · 技术社区  · 14 年前

    bind :

    using namespace std;
    
    bool odp(int arg1, int arg2);
    
    // ...
    
    find_if(vec.begin(), vec.end(), tr1::bind(odp, iValue, _1)); // C2065
    

    odp() ,所以它的第一个参数是 iValue find_if .

    错误:

    C2065: '_1' : undeclared identifier.
    

    我做错什么了?

    2 回复  |  直到 14 年前
        1
  •  4
  •   James McNellis    14 年前

    你需要 using namespace std::tr1::placeholders using std::tr1::placeholders::_1

        2
  •  1
  •   Billy ONeal IS4    14 年前

    这里有两件事。。。。首先,完全有可能您的编译器不支持TR1。例如,VisualStudio2008不支持TR1,除非您安装 Visual Studio 2008 Service Pack 1 .

    第二,我相信你需要一个命名空间的资格 _1 .