[英]array type 'int [8]' is not assignable
在此问题上停留了很长时间并且无法找到解决方案,不断出现错误消息数组类型'int [8]'是不可分配的。 也告诉我,数组条目“表达式必须是可修改的左值”,我试图多次查找并且似乎什么也没想到,任何帮助都是有用的:)使用命名空间std;
const int MAXACCOUNTS = 8;
int main()
{
cout << "Welcome" << endl;
int counter = 0;
int counter1 = 0;
int interest_counter = 0;
struct Account
{
int AccountNumber[MAXACCOUNTS] ;
double Balance[MAXACCOUNTS];
int DaySinceDebited[MAXACCOUNTS];
};
Account entries[MAXACCOUNTS];
while (counter1 != MAXACCOUNTS)
{
if (counter1 = 0)
{
entries[counter1].AccountNumber = 1001;
entries[counter1].Balance = 4254.40;
entries[counter1].DaySinceDebited = 20;
counter += 1;
}
else if (counter1 = 1)
{
entries[counter1].AccountNumber = 7940;
entries[counter1].Balance = 27006.25;
entries[counter1].DaySinceDebited = 35;
counter += 1;
}
else if (counter1 = 2)
{
entries[counter1].AccountNumber = 4382;
entries[counter1].Balance = 123.50;
entries[counter1].DaySinceDebited = 2;
counter += 1;
}
else if (counter1 = 3)
{
entries[counter1].AccountNumber = 2651;
entries[counter1].Balance = 85326.92;
entries[counter1].DaySinceDebited = 14;
counter += 1;
}
else if (counter1 = 4)
{
entries[counter1].AccountNumber = 3020;
entries[counter1].Balance = 657.00;
entries[counter1].DaySinceDebited = 5;
counter += 1;
}
else if (counter1 = 5)
{
entries[counter1].AccountNumber = 7168;
entries[counter1].Balance = 7423.34;
entries[counter1].DaySinceDebited = 360;
counter += 1;
}
else if (counter1 = 6)
{
entries[counter1].AccountNumber = 6245;
entries[counter1].Balance = 4.99;
entries[counter1].DaySinceDebited = 1;
counter += 1;
}
else if (counter1 = 7)
{
entries[counter1].AccountNumber = 9342;
entries[counter1].Balance = 107864.44;
entries[counter1].DaySinceDebited = 45;
counter += 1;
}
}
cout << "Acct No Balance Interest Paid" << endl;
while (counter != MAXACCOUNTS)
{
cout << entries[counter].AccountNumber << " " << entries[counter].Balance << " " << entries[counter].DaySinceDebited << endl;
counter += 1;
}
return 0;
}
您已经将AccountNumber
, Balance
和DaySinceDebited
为数组,但是尝试为它们分配单独的值。 您将它们视为不是数组,因为从逻辑上讲,将它们作为数组没有意义。 请记住,您有多个帐户(一组帐户),但是每个帐户只有一个AccountNumber,Balance等。不要将它们制成数组。 而是将它们声明为:
int AccountNumber;
double Balance;
int DaySinceDebited;
另外,在每个if
,都需要使用==
进行比较。 截至目前,您的陈述如下:
else if (counter1 = 1) {
^^^
这会将值1
分配给counter1
,然后检查其值是否为true。 由于所有整数(0除外)在C ++中均评估为true,因此将始终运行该整数。 将其更改为:
else if (counter == 1) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.