Mam takie pytanie, może trochę głupie. Dlaczego w C++ składnia funkcji std::async wygląda tak:
X x;
auto f1=std::async(&X::foo,&x, 42, "witaj");
Przecież (błędny) zapis poniżej wydaje się bardziej naturalny, ale kompilator protestuje - Non common syntax
auto f1=std::async(x.foo, 42, "witaj");