查看: 1717|回复: 2

关于ref_ptr的访问冲突

[复制链接]

该用户从未签到

发表于 2010-9-18 16:45:35 | 显示全部楼层 |阅读模式
本帖最后由 kentuce 于 2010-9-18 16:49 编辑

本人osg新手,在学习FreeSouth的《OpenSceneGraph程序设计》中的RambleSystem例子时,碰到了 “读取位置 0xcdcdcddd 时发生访问冲突 ”中断。
环境是VS2008,创建的是MFC工程,安装的osg是osg-2.8.3-vc90sp1-installer。

在OSGCore.h文件里定义osg::ref_ptr<osg::MatrixTransform> mTransform;
OSGCor.cpp文件中初始化InitOSG()中,mTransform = new osg::MatrixTransform;出现中断
控制台输出 StatusSensor.exe 中的 0x00980116 处最可能的异常: 0xC0000005: 读取位置 0xcdcdcddd 时发生访问冲突
自动窗口显示
-  mTransform {_ptr=??? } osg::ref_ptr<osg::MatrixTransform>
  _ptr CXX0030: 错误: 无法计算表达式的值

VS2008的SP1补丁已经安装。。

请问各位达人,这是什么原因


附加依赖项是 osg.lib
osgGA.lib
osgDB.lib
osgViewer.lib
osgText.lib
osgUtil.lib
OpenThreads.lib

该用户从未签到

发表于 2010-9-20 08:35:55 | 显示全部楼层
能否请您列出自己的所有代码?

该用户从未签到

发表于 2010-9-21 15:16:03 | 显示全部楼层
感觉OSG的智能指针“所有权”管理有点乱
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表