2017-05-02 3 views
0

Ich bin neu in C++ und ich habe versucht, mit der Verkettung von Eingaben umzugehen. Ich habe eine Benutzereingabe Vorname und Nachname und die letzten vier Ziffern einer gefälschten Sozialversicherung. ich möchte sie dann alle zusammen hinzufügen, indem ich den ersten Buchstaben des Vornamens, den ersten Buchstaben des Nachnamens und die vier Zahlen nehme. Jedes Mal, wenn ich mein Programm starte, erscheint ein Fehler für den Nicht-Klassen-Typ. Fehler:Problem bezüglich des Fehlers vom Nicht-Klassen-Typ?

In function 'int main()': 89:26: error: request for member 'at' in 'firstname[i]', which is of non-class type 'string2 {aka char [3]}' 90:26: error: request for member 'at' in 'lastname[i]', which is of non-c`enter code here`lass type 'string2 {aka char [3]}' 
typedef char string2[size]; 
string2 firstname[size]; 
string2 lastname[size]; 
string2 middleinitial[size]; 
string2 lastfour[size]; 


//CONCATINATION FOR ID 
string id[size]; 
for (int i = 0; i < size; i ++) 
{ 
    id [i] = firstname[i].at (0);//set id = to first letter of the first name 
    id [i] += lastname[i].at (1);//concatinate the first letter of the last name to the id 
    id [i] += lastfour[i]; //concatinate the last four 
} 
+1

Versuchen Sie 'firstname [i] [0]' stattdessen. – songyuanyao

Antwort

0

Die Variablen Sie verwenden alle als char[][] erklärt. Um at() zu verwenden, müssen Sie sich für std::string entscheiden, da es eine Mitgliedsfunktion dieser Klasse ist.

Alternativ können Sie auf das i th Zeichen des j Eintrags zugreifen, indem Sie operator[], wie, firstname[j].[i] verwenden.

Verwandte Themen