2017-05-02 6 views
0

私はC++に新しいですし、私は入力の連結に対処しようとしています。私は偽の社会保障のユーザー名と姓と最後の4桁を入力しています。私は最初の名前の最初の文字、姓の最初の文字、そして4つの数字を並べることによってそれらをすべて一緒に追加したいと思います。私のプログラムを実行するたびに、非クラス型のエラーがポップアップします。 エラー:あなたが使用している非クラス型のエラーに関する問題?

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

代わりに 'firstname [i] [0]'を試してください。 – songyuanyao

答えて

0

変数はすべてchar[][]として宣言されています。 at()を使用するには、そのクラスのメンバ関数であるため、std::stringを選択する必要があります。

のようにoperator[]を使用して、j番目のエントリのi番目の文字にアクセスすることもできます。

関連する問題