【发布时间】:2011-09-23 13:16:55
【问题描述】:
我有两个类,A 和 Bar,它们共享一个头文件,其中基本上包含 Foo* foo。 A 类实例化一个对象 Bar* bar。这工作正常。但是,如果我对对象进行实例化
Bar* bar = new Bar();
当 bar 尝试对 foo 执行某些操作时,我遇到了访问冲突。为什么这会有所作为?
如果我不使用“新”,它可以正常工作。这是错误:
Unhandled exception at 0x003c17ea in Direct3DTutorial7.exe: 0xC0000005: Access violation reading
location 0x00000000.
谢谢。
【问题讨论】:
-
可以包含头文件吗?
-
在调试器中运行,使用调用栈查找崩溃点并添加相关代码部分。
-
这很可能意味着您正在尝试取消引用空指针。
-
为什么是
new Bar()而不是new Bar?
标签: c++