我目前正在银行系统上执行任务,我有一个客户有一个帐户数组,我试图输出数组中每个帐户的金额。它说我需要使用一个指针,我想但不确定我会怎么做
double customer:: getAccounts()
{
for (int i=0;i<5;i++)
{
if(Accounts[i].getBalance != 0)
{
double x = Accounts[i].getBalance;
return x;
}
}
}
double customer :: specAccount(int num)
{
double x = Accounts[num].getBalance;
return x;
}
错误C3867:"Account::getBalance":函数调用缺少参数列表;使用'&Account::getBalance'创建指向成员的指针
假设getBalance是一个方法:
double x = Accounts[num].getBalance();
或者如果Accounts是指针数组:
double x = Accounts[num]->getBalance();
是否缺少括号?
double x = Accounts[i].getBalance();
getBalance不是一个方法吗?因此应该像一样调用
Accounts[i].getBalance() ;
如果Accounts是一个指针数组,您应该键入
Accounts[i]->getBalance() ;
或至少
(*Account[i]).getBalance() ;
if(Accounts[i].getBalance != 0)
应该是
if(Accounts[i].getBalance() != 0)
尽管这并不是此代码的唯一问题。您对getBalance()的每次调用都执行相同的操作
此外,如果在循环中找不到平衡,会发生什么=0?你应该处理那个案子。
编译器会告诉您问题出在哪里。您缺少参数列表。getBalance是一个函数,函数采用括号中的参数。所以加上括号,如下所示:
Accounts[i].getBalance();