Jak powiązać funkcję, która przyjmuje domyślne argumenty, bez określania domyślnych argumentów, a następnie wywoływania bez żadnych argumentów?Czy mogę powiązać funkcję, która przyjmuje domyślne argumenty, a następnie wywołuje ją?
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();
}
Definiuj "nie działa". Kod byłby kompilowany, gdybyś podał różne nazwy zmiennych. –
dlaczego ciągle przenosisz się do f? – 111111
@ R.MartinhoFernandes tak przykro, przykład był niekompletny. zaktualizowany kod – inf