2 timelesss timelesss 于 2016.02.25 06:30 提问

求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行

写说明一下代码,代码主要是要在控制台模拟浏览器对tab和网页前进后退的一些操作

再说明一下问题,问题在于brwosertab类和webinformation类的西沟函数,一旦在这两个类的西沟函数里面写上delete 指针名字;整个程序就不能运行了,最关键的是我不太明白为什么程序要调用这两个函数,因为我感觉我都是动态对象啊。
最后说明一下,我很菜,只有一点java编程的经验,所以第一次应对c++我真的需要一些帮助。谢谢你们了!

3个回答

caozhy
caozhy   Ds   Rxr 2016.02.25 08:16

要看你完整的代码。你delete的是什么,如果你的指针指向常量或者不可以delete的内存,就会报错。如果释放了还在使用的内存,那么在访问到这些内存的时候也会报错。
如果你用了webbrowser这样的com对象,你需要调用
CoDisconnectObject和Release
http://stackoverflow.com/questions/8273910/how-to-cleanly-destroy-webbrowser-control

henuyx
henuyx   2016.02.25 10:11

析构函数中delete的都是你自己申请的内存,不应该析构对象本身。
还有是不是这两个类的析构函数中delete的是同一块内存呢?

John_ToStr
John_ToStr   Rxr 2016.02.25 18:30

如果你用了webbrowser这样的com对象,你需要调用CoDisconnectObject和Release
http://stackoverflow.com/questions/8273910/how-to-cleanly-destroy-webbrowser-control

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!