【发布时间】:2011-10-23 21:22:48
【问题描述】:
我在这里遇到了一个奇怪的错误:882 Segmentation fault ./a.out
代码段:
int end=array.Length, loop=0;
cout<<end<<" about to print";
for(;loop<end;loop++){
cout<<"\nMr. loop says: ";
array.get(loop).print(fout);
}
我的程序的输出:
enpty initializer called for llist
enpty initializer called for entry
adding
adding
999deleting999
done deleting
123deleting123
done deleting
333deleting333
done deleting
printing
2 about to print
./g+: line 7: 882 Segmentation fault ./a.out
和重要输出:
printing
2 about to print
./g+: line 7: 882 Segmentation fault ./a.out
表示错误是这一行:
for(;loop<end;loop++){
它已被证明具有良好的价值并且在语法上是正确的(是的,我知道它的糟糕风格)。
想法?我的大学里似乎没有人能帮我解决这个问题。
这里是文件:
【问题讨论】:
-
“我的大学里似乎没有人能帮我解决这个问题”.. 某所大学!!
-
@Josh 你是学生还是老师?如果是学生,您可能应该将此问题标记为homework。如果是一名教师,您可能需要考虑转到一所大学,那里的 cs 系有人知道什么是分段错误。
-
很抱歉给您带来麻烦。我会 rtfm。
-
把
endl放在你所有的couts之后,比如cout<<end<<" about to print"<< endl;。这将刷新程序崩溃时不会刷新的缓冲区。 -
@Josh:抱歉,您可能错过了我的最后一条评论:请不要要求人们访问外部网站以获取有关您问题的基本详细信息。 stackoverflow.com 上的问题应该是自包含的。
标签: c++ pointers g++ segmentation-fault