bind1st 和 bind2nd 的返回值是从 unary_function 派生的。通过调用它们,我认为它们提供了一个接受一个参数的函数对象。但这也许是错误的。
这是我的代码。
template<typename _T>
class fun: public std::unary_function<_T, _T>
{
public:
_T operator()(_T arg1, _T arg2) const {return arg1 + arg2;}
};
int main() {
bind2nd(fun<int>(),10)(10); //My intention is to directly call the results of bind2nd
}
会发生很多构建错误。为什么这是错误的?