Следующий код работает нормально
#include <functional>
using namespace std;
using namespace std::placeholders;
class A
{
int operator()( int i, int j ) { return i - j; }
};
A a;
auto aBind = bind( &A::operator(), ref(a), _2, _1 );
Это не
#include <functional>
using namespace std;
using namespace std::placeholders;
class A
{
int operator()( int i, int j ) { return i - j; }
int operator()( int i ) { return -i; }
};
A a;
auto aBind = bind( &A::operator(), ref(a), _2, _1 );
Я попытался поиграться с синтаксисом, чтобы попытаться явно определить, какая функция мне нужна в коде, который до сих пор не работает без удачи. Как мне написать строку связывания, чтобы выбрать вызов, который принимает два целочисленных аргумента?