変数を介して以下の関数に整数を渡すと(つまり、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;
}
}