C中新记忆的范围
发布时间:2020-12-16 10:46:21 所属栏目:百科 来源:网络整理
导读:当我尝试执行以下操作时,我收到一条错误消息,说我正在尝试读取或写入受保护的内存. void func1(int * ptr) { int *ptr_b = new int[5]; ptr = ptr_b; }void main() { int *ptr_a; func1(ptr_a); delete [] ptr_a;} 这合法吗? 解决方法 不,你是一个普通的初
当我尝试执行以下操作时,我收到一条错误消息,说我正在尝试读取或写入受保护的内存.
void func1(int * ptr) { int *ptr_b = new int[5]; ptr = ptr_b; } void main() { int *ptr_a; func1(ptr_a); delete [] ptr_a; } 这合法吗? 解决方法
不,你是一个普通的初学者错误.你不记得指针只是通过值传递的变量,除非你要求引用或指向它们.将函数的签名更改为void func1(int *& ptr)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |