
看看下面的代码,你能看出错误吗
class A {
public:
void fun()
{
}
};
int main() {
A a;
void (A:: * p)() = &A::fun;
(*p)();
}
这段代码在调用成员函数时存在问题。正确的方式是使用对象来调用成员函数,而不是通过指针。以下是修正后的代码:
class A {
public:
void fun() {
}
};
int main() {
A a;
void (A::* p)() = &A::fun;
(a.*p)(); // 通过对象调用成员函数
}
修正后的代码通过(a.*p)()的方式调用了成员函数fun,其中a是对象,p是指向成员函数的指针。这样就可以正确地调用成员函数了。












![tornado模版注入 [护网杯 2018]easy_tornado 1](https://img-blog.csdnimg.cn/direct/df03d01c32bf482cb08b638156918029.png)






