最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-02-28 20:27
我觉得问题在于您赋给v1的指针是个堆栈指针,所以delete出错。
比如如果改成下面的方式应该就好了:
void main()
{
int* a = new i订畅斥堆俪瞪筹缺船画nt;
*a = 5;
aa v1(a);
aa v2(v1);
}
或者在hasptr的构造函数里面申请内存(不改main函数):
hasptr(int *p1) : use(1)
{
p2 = new int;
*p2 = *p1;
}
比如如果改成下面的方式应该就好了:
void main()
{
int* a = new i订畅斥堆俪瞪筹缺船画nt;
*a = 5;
aa v1(a);
aa v2(v1);
}
或者在hasptr的构造函数里面申请内存(不改main函数):
hasptr(int *p1) : use(1)
{
p2 = new int;
*p2 = *p1;
}
全部回答
- 1楼网友:蓝房子
- 2021-02-28 20:52
我觉得问题在于您赋给v1的指针是个堆栈指针,所以delete出错。
比如如果改成下面的方式应该就好了:
void main()
{
int* a = new int;
*a = 5;
aa v1(a);
aa v2(v1);
}
或者在hasptr的构造函数里面申请内存(不改main函数):
hasptr(int *p1) : use(1)
{
p2 = new int;
*p2 = *p1;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯