你没有重载operator=,所以data2=data1;只是做了简单的指针成员赋值并且泄漏内存,实际数据是共享的,所以data2和data1任何一个析构都会造成另一个崩溃,另一个析构时就会对同一块内存执行第二次delete操作,所以出错
delete [] matrix; 不过你怎么调用这个类的,你没有贴啊?