小编Mah*_*pal的帖子

我不小心调用了一个没有自己的类对象的成员函数。但这是如何工作的?

这是我的代码。

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

c++ reinterpret-cast

5
推荐指数
2
解决办法
163
查看次数

标签 统计

c++ ×1

reinterpret-cast ×1