У меня есть некоторые лямбда-функции, которые я хочу связать, используя либо boost:: bind, либо std:: bind. (Не волнует, какой из них до тех пор, пока он работает.) К сожалению, оба они дают мне разные компиляторы:
auto f = [](){ cout<<"f()"<<endl; };
auto f2 = [](int x){ cout<<"f2() x="<<x<<endl; };
std::bind(f)(); //ok
std::bind(f2, 13)(); //error C2903: 'result' : symbol is neither a class template nor a function template
boost::bind(f)(); //error C2039: 'result_type' : is not a member of '`anonymous-namespace'::<lambda0>'
boost::bind(f2, 13)(); //error C2039: 'result_type' : is not a member of '`anonymous-namespace'::<lambda1>'
Итак, что является простейшим обходным путем для этого?