2017-12-05 2 views
-1

Ich experimentiere mit Klassen und frage mich, warum ich einen Fehler bekomme, der besagt, dass "calvin" nicht im Bereich definiert ist. Vielen Dank.Warum wird diese Zeichenfolge nicht im Gültigkeitsbereich deklariert?

#include <iostream> 
#include <string> 
using namespace std; 

class people 
    { 
    public: 
     string name; 
     int age; 
    }; 

int main() 
{ 
    people peeps[10]; 

    peeps[1].name = calvin; 
    peeps[1].age = 21; 

    cout << peeps[1].name << peeps[1].age; 
} 
+4

'lugt [1] .name = calvin;' -> 'lugt [1] .name = "calvin";' –

+1

ahhhh Vielen – Calvin

+0

Sie nicht Arrays verwenden, Sie std :: Vektor. –

Antwort

2

ohne Anführungszeichen, calvin ist eine Variable (die nicht definiert ist). Sie sollten es zu einem Literal (d. H. "calvin") machen.

1

erstens würde ich vorschlagen, wenn Sie private Klasse Mitglieder und Alter gemacht hatte und schaffen auch Name/Alter und Satzname/Alter Member-Funktionen, um Ihre Daten zu schützen und schließlich

peeps[1].name = calvin; 
//calvin is an undefined variable 

Sie Stringliterale verwendet haben sollte zum Beispiel

peeps[1].name = "calvin"; 
Verwandte Themen