If there are (and only ever will be) only two Player
objects in the list, then you can get the two players like this:
auto itPlayer = entityList.begin();
Player* p1 = *(itPlayer++);
Player* p2 = *itPlayer;
This doesn't do any error checking so if there are less than two players in the list, it will crash. if you can ever have more than two players in the list, you would need to use a nested loop to compare each player against every other player.
The reason your original version wasn't working (apart from the post-increment in the wrong place) was that the range-based-for (for x : y)
returns the actual objects in the list, not their iterators. You need the iterators to allow you to increment to move from one item in the list to the next, as the pointers themselves could be anywhere in memory.