C++ 逻辑错误,通过引用传递的数字明显更高

C++ 逻辑错误,通过引用传递的数字明显更高,c++,C++,下面我粘贴了一些我写的代码。我遇到的问题是,当turnmessage将一个数字传递给found()(通过引用)时,它会以某种方式自动增加。例如,如果通过3,我将获得300万 (以下内容位于projectmain.cpp文件中) #包括 #包括 #包括 #包括 #包括“project1.h” 使用名称空间std; 项目1游戏; 字符串str(整数){ 细流ss; ss名称; playname=名称; 姓名; } void project1::resetBoard(){ 对于(int i=0;i

下面我粘贴了一些我写的代码。我遇到的问题是,当turnmessage将一个数字传递给found()(通过引用)时,它会以某种方式自动增加。例如,如果通过3,我将获得300万

(以下内容位于projectmain.cpp文件中)

#包括
#包括
#包括
#包括
#包括“project1.h”
使用名称空间std;
项目1游戏;
字符串str(整数){
细流ss;
ss名称;
playname=名称;
姓名;
}
void project1::resetBoard(){
对于(int i=0;i<3;i++){
RowOne[i]=str(i+1);
第二行[i]=str(i+4);
第三行[i]=str(i+7);
}
int使用[]={-1,-1,-1,-1,-1,-1,-1,-1,-1};
圈数=1;
}
void project1::printBoard(){
对于(int i=0;i<3;i++){

我想问题就在这里,
resetBoard

int used[] = {-1, -1, -1, -1, -1, -1, -1, -1, -1};
这将创建一个名为
used
的局部变量,该变量等于-1的数组,而不是将
used
数据成员更改为包含所有-1。若要解决此问题,请尝试用以下代码替换此代码:

for (int i = 0; i < 9; i++) {
    used[i] = -1;
}
for(int i=0;i<9;i++){
使用的[i]=-1;
}
可能还有其他问题,但这肯定是可疑的


希望这有帮助!

我想问题就在这里,在
重置板中:

int used[] = {-1, -1, -1, -1, -1, -1, -1, -1, -1};
这将创建一个名为
used
的局部变量,该变量等于-1的数组,而不是将
used
数据成员更改为包含所有-1。若要解决此问题,请尝试用以下代码替换此代码:

for (int i = 0; i < 9; i++) {
    used[i] = -1;
}
for(int i=0;i<9;i++){
使用的[i]=-1;
}
可能还有其他问题,但这肯定是可疑的


希望这有帮助!

number
project1::found
中没有被更改为某个较大的值。正是此
std::cout
的输出让您感到困惑:

while(i < 9 && found == false){
    cout << used[i];

number
project1::found
中没有被更改为某个较大的值,这是您从这个
std::cout
中得到的输出让您感到困惑:

while(i < 9 && found == false){
    cout << used[i];
cout << " your number after pass: " << number << std::endl ;