读取位置 ** 时发生访问冲突

Arthur_Li 2008-04-03 03:35:40
rt.
程序可以编译通过,只是运行是要求暂停,这是怎么回事?
提示 读取位置 ** 时发生访问冲突
这类错误如何解决?
请高手指教!
...全文
236 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
donwmufromdying 2008-04-16
  • 打赏
  • 举报
回复
&表示后边的是一个对象的引用。(reference),关于这个我建议你去好好看看c++primier
Arthur_Li 2008-04-03
  • 打赏
  • 举报
回复
呵呵,问题解决了!
原来是项目属性中 C++代码生成中运行时库改成多线程就可以了。
不过还是不太理解,到底是什么问题,怎么搞得。
也不太了解那个&是什么作用。
还请高手指教。
Arthur_Li 2008-04-03
  • 打赏
  • 举报
回复
但这是在函数里面调用啊?
怎么引用呢?
chuengchuenghq 2008-04-03
  • 打赏
  • 举报
回复
对象引用吧
Arthur_Li 2008-04-03
  • 打赏
  • 举报
回复
我试了,还是不行啊!
都不是空的指针,
(&CGameGUI::HandleStart, this)
实际我不太理解()中的&是什么意思,
请高手指教!
donwmufromdying 2008-04-03
  • 打赏
  • 举报
回复
这明显是去访问非法地址了!
你好好检查你的那些指针是不是都有效!
也许某些指针已经超出了存在域了,也许已经早就不存在了!
m_pStartButton ->subscribeEvent( CEGUI::PushButton::EventClicked, Event::Subscriber(&CGameGUI::HandleStart, this));
这一句的上下文呢?
你可以这么判断
if(m_pStartButton != NULL && this != NULL)
{
m_pStartButton ->subscribeEvent( CEGUI::PushButton::EventClicked, Event::Subscriber(&CGameGUI::HandleStart, this));
}
else
{
std::cout<<"there have errors,pointers are no longer valid"<<std::endl;
}
qmm161 2008-04-03
  • 打赏
  • 举报
回复
绝对是指针问题啊,编译的时候是查不出来的!
Supper_Jerry 2008-04-03
  • 打赏
  • 举报
回复
看看这个位置是什么
Arthur_Li 2008-04-03
  • 打赏
  • 举报
回复
指针的问题?我这是用到了指针,但应该没错啊,
这是有问题的一行:
m_pStartButton ->subscribeEvent( CEGUI::PushButton::EventClicked, Event::Subscriber(&CGameGUI::HandleStart, this));

sheenl 2008-04-03
  • 打赏
  • 举报
回复
指针指错位置了
Arthur_Li 2008-04-03
  • 打赏
  • 举报
回复
我用的是vs2005,
复用了一段代码,这段代码在别的项目里面就正常运行,
但在我的里面就出这种错误,
这怎麽办啊?
检查了好几天了。。。
NKLoveRene 2008-04-03
  • 打赏
  • 举报
回复
哪个位置错了就review哪个位置的代码,这个没办法。。
p0303230 2008-04-03
  • 打赏
  • 举报
回复
多数是内存出问题了

具体问题具体解决

64,680

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧