#include <functional>

class MyClass
{
public:
	void foo(int a) {}
};

int main() {
	MyClass classInstance;
	
	// Funktioniert
	std::function<void(int)> function = std::bind(&MyClass::foo, &classInstance, 3);
	
	// Funktioniert nicht!
	//std::function<void(int)> function3 = std::bind(&MyClass::foo, &classInstance);
	
	// Funktioniert!
	std::function<void(int)> function2 = [&](int a) {
		classInstance.foo(a);
	};
	return 0;
}