首先我们知道:浅拷贝之后两个对象(P1,P2)指向同一个堆区地址;当P1执行析构函数时,释放掉了该堆区地址的内容。当P2执行析构函数时,也会释放掉该堆区地址的内容,但此时堆区的内容已经释放完了。就会报错了 解决办法 让P2拷贝时,指向新的堆区地址即可,即深度拷贝