Iterando Através de um Vetor de Ponteiros

Estou tentando percorrer uma mão de cartas dos jogadores.

Player.cpp

vector<Card*>::iterator iter;
    for(iter = current_cards.begin(); iter != current_cards.end(); iter++) {
        cout << iter->display_card() << endl;
    }

O iter em

cout << iter->display_card() << endl;

atualmente vem com o "erro: a expressão deve ter o tipo de ponteiro para classe".

Da mesma forma, current_cards é declarado com:

vector<Card*>current_cards;

Além disso, o método display_card () é simplesmente:

Card.cpp

string Card::display_card(){
    stringstream s_card_details;
    s_card_details << "Colour: " << card_colour << "\n";
    s_card_details << "Type: " << card_type << "\n";

    return s_card_details.str();
}

Examinei vários recursos e tudo o que foi sugerido para tipos semelhantes de problemas não funcionou para mim. Obrigado por qualquer ajuda!

questionAnswers(3)

yourAnswerToTheQuestion