我正在尝试基于要调用的函数创建迭代器,该函数用于返回实例化对象中向量的指针,但遇到expression must have class type
错误。该错误指的是什么?
std::vector<GUIItem*> *childitems = dynamic_cast<GUIWindow*>(it_guilist)->GetChildItems();
std::vector<GUIItem*>::iterator it_childitems = childitems.begin();
该错误发生在childitems.begin()上。
我的GetChildItems函数如下:
std::vector<GUIItem*>* GUIItem::GetChildItems()
{
std::vector<GUIItem*> * childitems = &m_childitems;
return childitems;
}
我应该提到GUIWindow是从GUIItem基类派生的类。有任何想法吗?
最佳答案
childitems
是指针,而不是对象。使用childitems->begin()
。