“erreur: demande de membre de la "taille" dans "a", qui est de type pointeur” mais je ne pense pas que c'est un pointeur

Donc, j'ai pensé que j'essayais de faire quelque chose de simple, mais apparemment pas...

J'ai écrit cette fonction afin que je puisse l'étendre plus tard et d'avoir un moyen rapide pour donner à l'utilisateur un menu lorsque requis par la va menu(mystrings):

int menu(string a[]) {
    int choice(0);
    cout << "Make a selection" << endl;
    for(int i=0; i<a.size(); i++) {
        cout << i << ") " << a[i] << endl;
    }
    cin >> choice;
    cout << endl;
    return choice;
}

Mais pour une raison que j'obtiens:

main.cpp: In function int menu(std::string*)’:
main.cpp:38:12: error: request for member size in a’, which is of pointer type std::string* {aka std::basic_string<char>*}’ (maybe you meant to use ‘->’ ?)
  int n = a.size();

lorsque j'essaie de compiler. Quelqu'un pourrait-il traduire cette erreur pour moi et expliquer ce que -> est, je vous remercie.

Les tableaux ne sont pas des classes. Ils n'ont pas de fonctions membres. Utilisation std::array ou std::vector en fonction de vos besoins.
parce que[] est un*
Je suppose que vous faites using namespace std;.
Ce qui est avec tous les downvotes? Ce n'est pas floue, et n'est pas nécessairement un manque d'effort et de recherche; c'est l'un des plus difficiles de choses sur le C++.
Merci beaucoup, je me demande aussi ce que j'ai fait de mal, quelqu'un qui downvoted s'il vous plaît laissez-moi savoir comment je pourrais améliorer mes questions dans l'avenir? J'étais vraiment confus par l'erreur en disant que j'avais un pointeur alors que je n'avais pas fait la demande.

OriginalL'auteur Jamie Twells | 2014-04-07