Code::Blocks を使用してカード ゲームを作成しています。この1つの機能に問題があるようです。何らかの理由で、変数「カード」がこのどこかでごちゃごちゃになっています。コードは次のとおりです。
void prompt(int &space, int &card, bool checkS[9], bool checkC[4]){
do{
cout << "\n\nSelect a card: ";
cin >> card;
if(checkC[(card - 1)] == true || card < 1 || card > 4)
cout << "Invalid selection. ";
}while(checkC[(card - 1)] == true || card < 1 || card > 4);
do{
cout << "\n\nSelect a space: ";
cin >> space;
if(checkS[(space - 1)] == true || space < 1 || space > 9)
cout << "Invalid selection. ";
}while(checkS[(space - 1)] == true || space < 1 || space > 9);
cout << "\n\n";
cout << card << " / " << space << endl;
card -= 1;
space -= 1;
cout << card << " / " << space << endl;
checkC[card] = true;
checkS[space] = true;
cout << card << " / " << space << endl;
}
テスト用に作成した 3 つの cout ステートメント。最初の 2 つの cout は問題ないように見えますが、3 番目の cout では、何らかの理由で変数「card」が風変わりな @ss 番号になっています。何か案は?
編集:これが私が彼の機能を呼んでいる方法です。
prompt(boardSpace, cardFromHand, &checkS[9], &checkC[4]);