本人用VS2015编译器
#include <iostream> using namespace std; class A { public: void fun() { cout << "ok" << endl; } }; int main() { A *pa=0; pa->fun(); //居然不出错,什么原理? return 0; }
执行以后在屏幕上会打印ok
解决方案:20分
类的函数本质上是等价于普通函数加上this入参,虽然this的值是null,但是没有类成员调用,所以不会出错.
解决方案:20分
函数里没有使用类的数据成员,相当于调用静态函数