プレーヤーのリストを処理するクラス Lobby があります(これは抽象クラスであり、純粋な仮想メソッドのみです)。今、次のことを試みました:
...
std::list<Player*> list;
...
Lobby::Lobby (std::string name, unsigned int size){
m_size = size;
m_name = name;
std::list<Player*> list(size);
}
...
void Lobby::removePlayer(int playerID){
for (std::list<Player*>::iterator it = list.begin(); it != list.end(); it++){
if ((*it)->id == playerID){
it = list.erase(it);
}
}
}
...
私はいつも 2 つのエラーを受け取りますが、それらを解決する方法がわかりません。
error C2259: 'Member' : cannot instantiate abstract
class
私は C++ の初心者ですが、基本クラスのポインターのリストを使用すれば動作するはずだと思いました。
IntelliSense: no suitable user-defined conversion from "std::_List_iterator<std::_List_val<std::_List_simple_types<Member>>>" to "std::_List_iterator<std::_List_val<std::_List_simple_types<Member *>>>" exists**