我列出了自定义对象的列表,这是我的代码的一部分:

list<Carre*> mechants;
mechants.push_front(new Carre(joueur.getX()-1500,joueur.getY()+100));left = false;
for(list<Carre*>::iterator i=mechants.begin(); i != mechants.end(); ++i)
{
    *i->IA(joueur);
}

错误:在'* i.std::_ List_iterator ::operator->()'中请求成员'IA',其指针类型为'Carre *'(也许您打算使用'->'吗?) |

可能的问题是我列出了Carre *,我应该尝试列出Carre的列表,但在这种情况下我不知道如何添加它们。
我已经尝试做** i-> IA(joueur)而没有成功;
我之前从未使用过自定义对象列表,所以我不知道该怎么办。

编辑:IA(Joueur)是Carre类的函数

最佳答案

*i->IA(joueur);正在尝试做*(i->IA(joueur));
您想要的是i的括号:
(*i)->IA(joueur);

关于c++ - 具有自定义对象指针列表的迭代器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20941213/

10-11 21:15