返回信息流int **p = NULL;
int *q = new int;
*p = q;
运行后报错:Access violation writing location 0x00000000. 望达各位不吝赐教!先谢谢各位了!!
这是一条镜像帖。来源:北邮人论坛 / cpp / #88564同步于 2015/9/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求解一个bug,谢谢各位!!
helloking
2015/9/10镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
【 在 helloking 的大作中提到: 】
: int **p = NULL;
: int *q = new int;
: *p = q;
: ...................
你要先把mmap_min_addr设成0
再把这个代码加到你的代码前面
mmap (0, 4096, PROT_READ|PROT_WRITE,
MAP_FIXED|MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
也许bug就差不多了
您好,能说明下原理吗?谢谢
【 在 zx723 的大作中提到: 】
:
: 你要先把mmap_min_addr设成0
: 再把这个代码加到你的代码前面
: ...................
*p = q; 你还没给p赋值,如三楼所说:p = &q; 怎么对p所存地址取值呢,在你这里相当于*(NULL) = q。
对于指针类型定义初始化时 int *p = q; 此时表示给p赋值(同等于p = q),其他情况下使用 *p = q, 都是表示对p所指向的地址取值吧。