原題略。
答案的問題在於 當一開始陣列的第乙個元素為0時,他為偶數,刪除它後,迭代器指向第乙個元素1 ,
錯誤在於下一句,--lit 使得迭代器指向begin的前乙個,超出了範圍,所以導致執行錯誤。
必須要了解for語句的實現,則可以解決這個問題。
#include#include#includeusing namespace std; int main() ; vectorc1(ia,ia+11); listc2(ia,ia+11); vector::iterator pos1; list::iterator pos2; for(pos1=c1.begin();pos1!=c1.end();++pos1) } for(pos2=c2.begin();pos2!=c2.end();++pos2) } for(pos1=c1.begin();pos1!=c1.end();++pos1) { cout<<*pos1<
我用了continue語句,則可以避免迴圈時要執行的++lit語句。
就此解決了這個問題。
C primer 習題9 26 的問題。
原題略。答案的問題在於 當一開始陣列的第乙個元素為0時,他為偶數,刪除它後,迭代器指向第乙個元素1 錯誤在於下一句,lit 使得迭代器指向begin的前乙個,超出了範圍,所以導致執行錯誤。必須要了解for語句的實現,則可以解決這個問題。include include includeusing nam...
c primer習題9 26答案錯誤
primer 習題9.26 假設有如下ia的定義,將ia複製到乙個vector容器和乙個list容器中,使用單個迭代器引數版本的erase函式將list容器中的奇數值元素刪除,然後將vector容器中的偶數值元素刪除。int ia 答案 include iostream include vector...
C primer習題筆記
1 解釋下面每個函式模板的定義並指出是否有非法的,改正所發現的錯誤。e typedef char ctype templatectype f5 ctype a 解答 e 合法,定義了乙個模板函式f5,該函式的返回型別與形參型別相同,均可繫結到任何型別 而不一定是char型別 2 何時必須使用type...