我在使用 bind
时遇到编译器错误:
using namespace std;
bool odp(int arg1, int arg2);
// ...
find_if(vec.begin(), vec.end(), tr1::bind(odp, iValue, _1)); // C2065
我的目标是柯里化(Currying) odp()
,所以它的第一个参数是 iValue
,并在 find_if
中应用该函数。
错误:
C2065: '_1' : undeclared identifier.
我做错了什么?
最佳答案
您需要using namespace std::tr1::placeholders
或using std::tr1::placeholders::_1
。
关于C++:tr1::bind 问题 (C2065),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3049866/