当我通过变量将整数传递给下面的函数时(即x = 1 PrintAccntInfo( x, bank_name)
,无论其实际值如何,它总是被函数读取为0。但是,如果我直接输入值,即PrintAccntInfo(1, bank_name)
函数工作正常。有人能解释一下吗对我来说这是怎么回事?谢谢!
void Bank::PrintAccntInfo(int accntnum, Bank bank_name) {
int num_transactions = 0;
transaction_node *temp;
temp = bank_name.accounts[accntnum].head;
.......
accntnum 是问题所在。
编辑:
这是我调用函数的代码(resp 是从用户读取的字符串):
if (stoi(resp)) {
int resp_int = stoi(resp);
if (resp_int = 0) {
for (int i=1;i<21;i++) //print all the account transactions
PrintAccntInfo(i,our_bank);
badinputchk = false;
} else {
PrintAccntInfo(resp_int,our_bank);
badinputchk = false;
}
}