这是我的代码。
class IService {
};
class X_Service {
public:
    void service1() {
        std::cout<< "Service1 Running..."<<std::endl;
    }
};
int main() {
    IService service;
    auto func = reinterpret_cast<void (IService::*)()>(&X_Service::service1);
    (service.*(func))();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)
我不明白这是如何工作的。我没有继承 IService 也没有创建 X_Service 对象,但它可以工作。有人可以解释一下吗?