Also dachte ich, ich versuchte etwas Einfaches zu tun, aber anscheinend nicht .. ."Fehler: Anfrage für Mitglieder 'Größe' in 'a', die von Zeigertyp ist" aber ich dachte nicht, dass es ein Zeiger war
ich diese Funktion geschrieben, damit ich es später und einen schnellen Weg, um dem Benutzer ein Menü bei Bedarf zu geben, indem sie menu(mystrings)
haben verlängern könnte:
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;
}
Aber aus irgendeinem Grund bekomme ich:
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();
wenn Ich versuche es zu kompilieren. Könnte jemand diesen Fehler für mich übersetzen und erklären, was ->
ist, danke.
Arrays sind keine Klassen. Sie haben keine Mitgliedsfunktionen. Verwenden Sie 'std :: array' oder' std :: vector', je nach Ihren Bedürfnissen. – chris
weil a [] ist ein * – paulm
Ich nehme an, Sie tun ['using Namespace std;] (http://stackoverflow.com/questions/1452721/why-isusing-namespace-std-considered-bad-practice). – Deduplicator