std::bind mit VS2010
-
Hallo zusammen,
ich verstehe das Verhalten von std::bind (mit Visuals Studio 2010) nicht.
Folgender Code#include <iostream> #include <functional> using namespace std; void foo(int a, int b) { cout<<"a: "<<a<<", b :"<<b<<endl; } int main() { function<void(int)> f = bind(foo, placeholders::_1, 1); f(2); return 0; }liefert bei mir wider erwarten "a:2, b:1", es wurde also das zweite Argument statt das erste gebunden.
Ist das normales Verhalten? Wie würde ich denn das erste Argument binden?
-
Ist das normales Verhalten?
Ja.
Wie würde ich denn das erste Argument binden?
So:
function<void(int)> f = bind(foo, 1, placeholders::_1);Verstehst du es jetzt?
-
Sone schrieb:
Verstehst du es jetzt?
Ja, danke.