Я пытаюсь перебрать std::list<sf::TcpSocket> clients
и удалить отключенные из sf::SocketSelector
и из самого списка.При попытке удалить клиента из списка, используя итератор, я продолжаю получать ошибку «двоичный» == «оператор не найден».Это часть кода, где ошибка вызывается из:
std::list<sf::TcpSocket> clients;
std::list<sf::TcpSocket>::iterator i;
for (auto i = clients.begin(); i != clients.end();)
{
if (selector.isReady(*i))
{
sf::Socket::Status status = i->receive(dummy, 1, received);
if (status != sf::Socket::Done)
{
if (status == sf::Socket::Disconnected)
{
selector.remove(*i);
clients.remove(*i); // this causes the error
}
}
else
{
//i++;
}
}
}