VS2008 中的访问冲突,但在 VS2002 中没有
Posted
技术标签:
【中文标题】VS2008 中的访问冲突,但在 VS2002 中没有【英文标题】:Access Violation in VS2008, but not in VS2002 【发布时间】:2012-04-11 14:23:44 【问题描述】:我在 Visual Studio 2008 中面临“访问冲突错误”,但相同的代码在 VS2002 中运行良好。 我已经验证了项目设置都是相同的。我认为 VS2008 中指针的处理有所不同。我想我错过了一些东西。
有人可以帮忙吗?
下面给出的示例代码。
schemap = (typ_ty_schema *)((dbs_ty_obj *)obj)->f_schema;
执行此行后,值没有分配给模式但是我可以在((dbs_ty_obj *)obj)->f_schema
中看到值
请帮忙。
尼克斯
【问题讨论】:
我们没有足够的信息来帮助您。但是,在使用 C++ 尤其是 STL 容器时,如果混合使用 VS2002 和 2008 编译的二进制文件,则可能会发生此类问题。 【参考方案1】:我认为这与处理不同的指针没有任何关系。这可能只是您代码中的一个错误,由于某种原因(不同的代码生成、内存分配等)隐藏在 VS2002 生成的代码中。
【讨论】:
以上是关于VS2008 中的访问冲突,但在 VS2002 中没有的主要内容,如果未能解决你的问题,请参考以下文章
VS2008 Update Web Reference在Reference.cs中创建命名冲突
VS2008 中的 C++ 项目有效,但在 VS2010 中无效
C0000005: 读取位置 0xCCCCCCCC 时发生访问冲突