Quindi, ho pensato che stavo cercando di fare qualcosa di semplice, ma apparentemente non .. ."errore: richiesta per 'dimensione' membro 'in', che è di tipo puntatore" ma non pensavo che fosse un puntatore
ho scritto questa funzione in modo da poter estendere in un secondo momento e hanno un modo rapido per dare all'utente un menu quando richiesto andando 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;
}
Ma per qualche motivo ottengo:
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();
quando Provo la compilazione. Qualcuno potrebbe tradurre quell'errore per me e spiegare cosa è ->
, grazie.
Le matrici non sono classi. Non hanno funzioni membro. Usa 'std :: array' o' std :: vector' a seconda delle tue esigenze. – chris
perché un [] è un * – paulm
Suppongo che stai facendo ['utilizzando lo spazio dei nomi std;'] (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice). – Deduplicator