對不起,我不能提供代碼BC我沒有它。C++ std ::向量擦除元素0拋出異常
我的同事(曾與該公司長期合作,但似乎並不知道自己在做什麼)聲稱他必須做一些奇怪的事情來清除媒介中的元素。他將所有元素移動到某個位置(從他想移除的元素開始),然後移除向量中的最後一個元素。這聽起來不錯,但效率很低。標準庫的std :: vector :: erase()應該能夠處理這個問題。
他這樣做是因爲他聲稱在元素0上調用擦除會給出隨機異常。
我的問題是什麼可能導致這種情況?我很確定這是一個線程安全問題,但是還有什麼可能導致它的?
請讓我知道...我是C++新手。
再次,抱歉無法提供代碼。
感謝, JBU
沒有看到代碼,答案是,「代碼中的任何內容都可能是錯誤的。」從同事處獲取代碼並通讀它;調試它,並查看它失敗的原因;如果您對某些代碼有特定問題,請隨時在此發佈代碼,毫無疑問,有人可以幫助解釋它。 – 2010-09-24 17:25:00
@JamesMcNellis好的問題是,他改變了代碼...因爲它是「不工作」 – jbu 2010-09-24 17:25:26
@jbu - 你到底想要什麼?如果你想修復,獲取代碼併發布。代碼破解的方式有很多種,對任何人來說都不是一種有效的猜測。 – 2010-09-24 17:28:44