www.5129.net > 为什么编译正确的C++程序在运行时会停止工作

为什么编译正确的C++程序在运行时会停止工作

编译只是保证没有语法错误,但是不能保证你的程序的算法没有错误,如果你的程序中有比较严重的Bug,如果说访问了系统保护的内存,出于保护,windows会中止你的程序,或是抛出一个异常,如果异常没有被捕获并加以处理,程序也会中止,当然,这时...

这个是指针越界的提示。 if(head=NULL) 这里判断相等应该是两个等号

你确定是编译器停止工作,不是你自己编的程序?

大致浏览了一下,没有发现明显错误。 这种情况,就需要调试了。F5执行程序,遇到运行警告后中断,通过调用堆栈查看具体问题代码行。之后,通过变量观察、设置断点、单步执行等方式,查找具体问题。 编译链接无误,只是没有语法错误,运行时错误...

一般情况都是数据溢出,超出数组边界或者使用野指针

你第一次循环的时候这句话会导致崩溃 fence = fence->next->beforep = new Node(a,NULL); 因为第一次循环的时候fence指向的是head,head的next是NULL,对NULL调用fence->next->beforep,会导致程序崩溃。

我认为是代码的问题。 我用的也是vc6,中文绿色版,Win7,64位的系统。从来没出现由于软件不兼容导致程序停止运行的问题。 用该VC6.0编过小程序,也编过一个程序几千行的代码,有出现过某某.exe已停止工作的问题。 从来都是代码的问题。 有可能...

我当时也出现过这个后来sourcefog上下载重新下载一个

for(int j=1;j

#include改成#include

网站地图

All rights reserved Powered by www.5129.net

copyright ©right 2010-2021。
www.5129.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com