You can't get a plain function pointer, but you can get a function object using bind
or a lambda:
auto bound = std::bind(member_func_ptr, class_ptr, std::placeholders::_1);
auto lambda = [=](int x){return (class_ptr->*member_func_ptr)(x);}
bound(5); // should output 5
lambda(5); // should output 5 too
Both of these can be converted to std::function<void(int)>
if you want.