std :: bind to std :: function?

Ich erhalte den folgenden Kompilierungsfehler:

std::vector<std::function<int(int)>> functions;

std::function<int(int, int)> foo = [](int a, int b){ return a + b; };
std::function<int(int)> bar = std::bind(foo, 2);

functions.push_back(bar);

Der Fehler ist:

/usr/include/c++/4.6/functional:1764:40: Fehler: Keine Übereinstimmung für den Aufruf von '(std :: _ Bind (int)>) (int)'

Kann mir jemand sagen wie man ein konvertiertstd::bind in einstd::function?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage