我正在尝试基于我正在调用的函数创建一个迭代器,以返回指向实例化对象中的向量的指针,但我遇到了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基类的类。有什么想法吗?
答案 0 :(得分:4)
childitems
是一个指针,而不是一个对象。使用childitems->begin()
。