Могу ли я привязаться к функции, которая принимает аргументы по умолчанию, а затем вызвать ее?

Как я могу привязаться к функции, которая принимает аргументы по умолчанию, без указания аргументов по умолчанию, а затем вызвать ее без каких-либо аргументы?

void foo(int a, int b = 23) {
  std::cout << a << " " << b << std::endl;
}

int main() {
  auto f = std::bind(foo, 23, 34); // works
  f();


  auto g = std::bind(foo, 23); // doesn't work
  g();

  using std::placeholders::_1;
  auto h = std::bind(foo, 23, _1); // doesn't work either 
  h();

}
21
задан abyss.7 28 January 2014 в 14:15
поделиться