[問題] 刪除vector中 小於或等於0的數字
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++2008
問題(Question):
不好意思,請教一下,我寫一個簡單的程式如下:
http://codepad.org/v6ChBZr7
主要是想刪除vector中小於或等於0的數字
如果是這樣子做:
vint1.erase(remove(vint1.begin(),vint1.end(),vint1.at(vint1_index)),vint1.end());
^^^^^^^^^^^^^^^^^^^^^
compiler就會說:發生例外狀況: std::out_of_range。
不知道有什麼辦法可以解決呢?
謝謝幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.100.113
※ 編輯: bernachom 來自: 114.34.100.113 (10/18 21:12)
推
10/18 21:27, , 1F
10/18 21:27, 1F
→
10/18 21:27, , 2F
10/18 21:27, 2F
→
10/18 21:27, , 3F
10/18 21:27, 3F
→
10/18 21:29, , 4F
10/18 21:29, 4F
→
10/18 21:29, , 5F
10/18 21:29, 5F
→
10/18 21:29, , 6F
10/18 21:29, 6F
→
10/18 21:38, , 7F
10/18 21:38, 7F
→
10/18 21:40, , 8F
10/18 21:40, 8F
→
10/18 21:40, , 9F
10/18 21:40, 9F
→
10/18 21:41, , 10F
10/18 21:41, 10F
用erase(remove())是我查文章查到的...我也不知道有什麼優點...
http://www.360doc.com/content/09/0615/20/130577_3908783.shtml
我就先把他拿來用而已...
※ 編輯: bernachom 來自: 114.34.100.113 (10/18 21:43)
→
10/18 21:47, , 11F
10/18 21:47, 11F
→
10/18 21:47, , 12F
10/18 21:47, 12F
→
10/18 21:47, , 13F
10/18 21:47, 13F
→
10/18 21:49, , 14F
10/18 21:49, 14F
→
10/18 21:50, , 15F
10/18 21:50, 15F
→
10/18 21:51, , 16F
10/18 21:51, 16F
→
10/18 21:58, , 17F
10/18 21:58, 17F
版主大人,你的好精簡...我反應不過來..我要研究一下...謝謝^_^
→
10/18 22:00, , 18F
10/18 22:00, 18F
→
10/18 22:01, , 19F
10/18 22:01, 19F
→
10/18 22:02, , 20F
10/18 22:02, 20F
→
10/18 22:02, , 21F
10/18 22:02, 21F
※ 編輯: bernachom 來自: 114.34.100.113 (10/18 22:03)
→
10/18 22:03, , 22F
10/18 22:03, 22F
→
10/18 22:04, , 23F
10/18 22:04, 23F
→
10/18 22:05, , 24F
10/18 22:05, 24F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):