Появился враппер std::function. С ним вы можете использовать и функцию, и функтор. Удобно использовать с лямбдами или с std::bind.
#include <iostream>
#include <functional>
using namespace std;
class MyClass {
public:
        void hello() {
                cout << "Hello from " << __LINE__ << endl;
        }
};
static void hello() {
        cout << "Hello from " << __LINE__ << endl;
}
static void do_with_callback( std::function<void()> && callback ) {
        callback();
}
int main() {
        MyClass cl;
        do_with_callback( std::function<void()>(hello) ); // VC 2012 fix
        do_with_callback( std::bind(&MyClass::hello, &cl) );
        do_with_callback( [&](){
                cl.hello();
        } );
        return 0;
}
Вывод:
Hello from 15
Hello from 9
Hello from 9