【发布时间】:2015-12-24 09:11:38
【问题描述】:
我正在尝试基于我正在调用的函数创建一个迭代器,以返回一个指向实例化对象中向量的指针,但我遇到了 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 基类派生的类。有什么想法吗?
【问题讨论】:
-
请写MCVE。没有它,很难重现您的错误,而且您不太可能得到有用的答案。