关于非类型错误的问题?

时间:2017-05-02 03:34:51

标签: c++ types compiler-errors concatenation

我是c ++的新手,我一直在尝试处理输入的连接。我有一个用户输入的名字和姓氏以及假社会保障的最后四位数字。然后我想通过输入名字的第一个字母,姓氏的第一个字母和四个数字来将它们全部加在一起。每次我运行我的程序时都会弹出一个非类型的错误。 错误:

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 个答案:

答案 0 :(得分:0)

您使用的变量都声明为char[][]。要使用at(),您需要选择std::string,因为它是该类的成员函数。

或者,您可以使用i访问j条目的operator[]字符,例如firstname[j].[i]