示例

class MyClass {
public:
MyClass(){
MyClass::ptr = new int;
MyClass::ptr = 0;
}

~MyClass(){
delete ptr;
}
 
private:
int *ptr;
};

解决方案
在类中声明构造函数和析构函数,但在其他地方定义这些函数,从而防止它们隐式内联。

class MyClass {
public:
MyClass();
~MyClass();
 
private:
int *ptr;
};


MyClass::MyClass(){
MyClass::ptr = new int;
MyClass::ptr = 0;
}

MyClass::~MyClass(){
delete ptr;
}