Кажется, VC10 не может справиться с лямбдами в качестве аргументов std::bind
. Кажется, ожидается либо указатель на функцию, либо функциональный объект. Я не знаю, является ли это ошибкой, но я подозреваю, что это так, поскольку лямбда-функция должна стать функциональным объектом во время компиляции.
Во всяком случае, если вам нужен обходной путь, это компилирует для меня:
std::function<void(int)> func = [] (int) {};
std::bind(func, 10);