Why do objects returned from bind ignore extra arguments?
Suppose I have a function that takes two arguments, void f(int x, int y); and I want to bind one of them. I can use std::bind as follows: auto partiallyBoundF = std::bind(f, 10, _1); partiallyBoundF takes only one argument, but I can call it with more than one. The arguments beyond the first don't even have to be of a type that makes any sense: partiallyBoundF(20, 0); partiallyBoundF(0, 44, -99, "Hello", 4.5, true, []{}); What is the purpose of permitting objects returned from bind to be passed extra arguments? It allows calling errors to compile that would be rejected anyplace else. Ignoring