[問題] hw1.2.p2b

作者: shunci (自然就好)   2013-10-07 02:14:41
這一小題程式我已打完,可以變成執行檔,可是執行時卻出現segmentation fault.
使用gdb來檢查如下(設breakpoint):
Breakpoint 2, main () at hw1.2.p2b.cpp:219
sort(books.begin(), books.end());
(gdb) s
std::vector<Book, std::allocator<Book> >::end (this=0x7fffffffdb70)
at /usr/include/c++/4.7/bits/stl_vector.h:537
537 { return iterator(this->_M_impl._M_finish); }
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b92283 in std::string::length() const ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
發現問題在main程式的這行:sort(books.begin(), books.end());
可是我卻不知道這行式子的作用,也因此不知如何debug,想請問大家
我的程式之所以會發生segmentation fault的原因是什麼?
作者: jjjj222 (綠色藥水)   0000-00-00 00:00:00
books.empty() ?
作者: nianze (念澤)   0000-00-00 00:00:00
請問有用bt確定真的是錯在這行嗎?因為SIGSEGV前是按n,不知道是不是跑到其他行了?
作者: shunci (自然就好)   0000-00-00 00:00:00
真的是在這行,因為我的邏輯有錯,使得排列進入無窮迴圈就在剛才發現了,檢查好久@@

Links booklink

Contact Us: admin [ a t ] ucptt.com