2011-04-27 99 views
0

一點幫助傢伙即時通訊仍然是一個新手,在C++在編譯的時候C++矢量迭代器轉換錯誤

error: invalid conversion from 'VboVO* const* const' to 'VboVO**' 

即時得到這個錯誤。這裏是我的代碼的相關部分

struct VboVO{..}; 
vector<VboVO*> m_vboVos; 
vector<VboVO*>::iterator iVbovo; 

for(iVbovo = m_vboVos.begin() ; iVbovo != m_vboVos.end(); ++iVbovo){ 
} 
+0

什麼是編譯器? – 2011-04-27 23:28:34

+2

這不能只是*代碼的相關部分,因爲這樣編譯得很好。你確定錯誤信息是否與你在這裏顯示的行一致嗎? – 2011-04-27 23:28:34

+0

在mac上編譯gcc 4.2。 – valmo 2011-04-27 23:33:52

回答

5

這是一個猜測

你可能想在某個類的const成員函數作爲一個成員變量來執行這個循環中,與m_vboVos 。因此m_vboVosconst,並且您不能使用iteratorconst vector。改爲使用const_iterator

+0

yeh我剛剛讀了這個地方。生病讓這一去。謝謝隊友 – valmo 2011-04-27 23:38:41

+0

哇真棒猜測。你碰到了問題的頭部。你是對的,我應該發佈它的常量函數。感謝好友 – valmo 2011-04-27 23:43:41