gpt4 book ai didi

c++ - 另一个 C++ 列表问题

转载 作者:太空宇宙 更新时间:2023-11-04 16:32:14 26 4
gpt4 key购买 nike

我很卡在这里,我已经尽力了,但我无法解决它。

我想这样做:

list<Enemy> *_myEnemies;
Enemy* _myEnemiesPushBack;

_myEnemiesPushBack = new Enemy;
_myEnemiesPushBack->load("earth.png");
_myEnemiesPushBack->setPos(150, 150);
_myEnemies->push_back(_myEnemiesPushBack); //error here

错误:

\init.cpp(41): error C2664: 'void std::list<_Ty>::push_back(_Ty &&)' : cannot convert parameter 1 from 'Enemy *' to 'Enemy &&' 1> with 1> [ 1> _Ty=Enemy 1>
] 1> Reason: cannot convert from 'Enemy *' to 'Enemy' 1>
No constructor could take the source type, or constructor overload resolution was ambiguous

谢谢!

最佳答案

你根本不需要指针。

std::list<Enemy> myList;

Enemy en;
en.load("earth.png");
en.setPos(150,150);
myList.push_back(en);

typedef std::list<Enemy>::iterator iterator;
for (iterator it = list.begin(), end = list.end(); it != end; ++it) {
it->move();
}

我还鼓励您从某处获取一本关于 C++ 的书籍(对于初学者),或者如果这是您的特定障碍,则获取关于 STL 的书籍。不幸的是,C++ 不是您可以在没有指导的情况下进行实验的东西(至少一开始是这样)。

关于c++ - 另一个 C++ 列表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com