Come posso eseguire il bind a una funzione che accetta argomenti predefiniti, senza specificare gli argomenti predefiniti e quindi chiamarla senza argomenti?Posso eseguire il binding a una funzione che accetta gli argomenti predefiniti e quindi chiama?
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();
}
Definire "non funziona". Il codice verrebbe compilato se avessi dato nomi diversi alle variabili. –
perché continui a riassegnare a f? – 111111
@ R.MartinhoFernandes yeah sorry, l'esempio era incompleto. codice aggiornato – inf