rate1 发表于 2022-3-27 10:39

求助

请教一下大佬这两种传参有什么不同
为什么第一种编译不通过,底层原理是什么



ZheCi 发表于 2022-4-5 16:12

报的错误信息是什么?int *e没有初始化,如果你Delete函数中你使用了*e就会出错

rate1 发表于 2022-4-6 15:12

ZheCi 发表于 2022-4-5 16:12
报的错误信息是什么?int *e没有初始化,如果你Delete函数中你使用了*e就会出错

编译的时候没报错,执行的时候是segmentation fault(core dump)

unmask 发表于 2022-4-6 20:24

rate1 发表于 2022-4-6 15:12
编译的时候没报错,执行的时候是segmentation fault(core dump)

int *e没有初始化,给e分配一个有效int指针前,可能是指向0的非法指针,或者是随机的野指针,执行时会出现各种错误。
int e,默认就分配了一个栈数据,所以&e就是一个有效的int指针,指向的就是这个栈数据。

rate1 发表于 2022-4-11 09:08

unmask 发表于 2022-4-6 20:24
int *e没有初始化,给e分配一个有效int指针前,可能是指向0的非法指针,或者是随机的野指针,执行时会出 ...

明白了,感谢大佬{:1_893:}
页: [1]
查看完整版本: 求助