我是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
}
答案 0 :(得分:0)
您使用的变量都声明为char[][]
。要使用at()
,您需要选择std::string
,因为它是该类的成员函数。
或者,您可以使用i
访问j
条目的operator[]
字符,例如firstname[j].[i]
。