这是我的代码。
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 对象,但它可以工作。有人可以解释一下吗?