2011-04-27 82 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