游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2714|回复: 6

用new分配的内存里的内容为什么自己会改变?

[复制链接]

9

主题

50

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2007-4-16 22:41:00 | 显示全部楼层 |阅读模式
CScView::CScView()
{ map=new int[20*200];
    for(int i=0;i<20*200;i++)
          map=0;
}

虽然为map指针分配了内存并对其初始化,但到了别的函数运行时map的一些变量自己发发生了变化,这问题怎么解决啊,高手指点哦

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2007-4-16 23:37:00 | 显示全部楼层

Re:用new分配的内存里的内容为什么自己会改变?

如果指针所指的内容在错误的地方被错误的修改了其内容,就这是编码的问题。

要么是指针越界操作,要么就是在错误的地方被错误的修改了。

4

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2007-4-17 18:58:00 | 显示全部楼层

Re:用new分配的内存里的内容为什么自己会改变?

用vc得到map的地址,然后做一个断点,当那个地址被改变的时候进行中断,你就知道在哪里越界修改了.

0

主题

202

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2007-6-19 00:53:00 | 显示全部楼层

Re:用new分配的内存里的内容为什么自己会改变?

不会,应该是你代码其他地方修改了[em4]

11

主题

51

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2007-6-25 18:21:00 | 显示全部楼层

Re:用new分配的内存里的内容为什么自己会改变?

这种通常是越界

154

主题

4567

帖子

4579

积分

论坛元老

Rank: 8Rank: 8

积分
4579
QQ
发表于 2007-6-26 01:59:00 | 显示全部楼层

Re:用new分配的内存里的内容为什么自己会改变?

new int ,要是存了不是 int型的地址会出错吧? 比如一个int对象没加上 & 操作

16

主题

114

帖子

114

积分

注册会员

Rank: 2

积分
114
发表于 2007-6-27 16:06:00 | 显示全部楼层

Re:用new分配的内存里的内容为什么自己会改变?

你的map是局部变量吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 00:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表