首页 新闻 会员 周边

C++ 析构函数的调用问题!

0
悬赏园豆:50 [待解决问题]
 1 class Matrix{
 2 public:
 3         Matrix(int dimM, int dimN){          //构造函数
 4                 a = new double *[dimM];               
 5                 int i = 0;
 6                 for(i = 0; i < dimM; i++){
 7                         a[i] = new double[dimN];
 8                 }
 9         }
10         
11         ~Matrix(){
12             forint i = 0; i<M; i++) 
13                delete []a[i];
14             delete []a;
15         }                    
16         
17         void input(int m, int n);
18         void output(int m, int n);
19         Matrix (const Matrix & copy);    
20 
21 private:
22         int M;
23         int N;
24         double **a;                       
25         
26 };
27     

我建立Matrix的类,在main函数中,定义一个类m1(2,3),调用m1.input、m1.output函数输出;然后调用拷贝构造函数,Matrix m2(m1), 调用m2.output,编译通过,执行错误,提示析构函数两次被调用,core dumped,求大神指点,哪个地方错了

samful的主页 samful | 初学一级 | 园豆:58
提问于:2016-11-30 12:02
< >
分享
所有回答(1)
0

析构函数定义了两次delete


洛洛默 | 园豆:206 (菜鸟二级) | 2016-11-30 16:11

不是吧 

支持(0) 反对(0) samful | 园豆:58 (初学一级) | 2016-12-01 22:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册