Dew*_*pta 0 c++ if-statement lvalue conditional-statements
整个程序基本上只允许用户移动光标,如果用户处于给定的坐标范围(2,2),则允许用户输入输入.我刚刚提供了一些代码,我认为这些代码足以解决问题.
我不知道造成这个问题的原因.你也可以解释为什么会这样!
void goToXY(int ,int);
Run Code Online (Sandbox Code Playgroud)
创建了一个具有两个整数的函数.
int X = 0, Y = 0;
Run Code Online (Sandbox Code Playgroud)
初始化两个整数.
if(X = 2 && Y = 2){
cin >> input;
}
Run Code Online (Sandbox Code Playgroud)
这是错误的地方(它在上面)
void goToXY(int x = 0, int y = 0) {
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
Run Code Online (Sandbox Code Playgroud)
这是我定义函数的地方(它在上面)
问题出在这个if语句中
if(X = 2 && Y = 2){
cin >> input;
}
Run Code Online (Sandbox Code Playgroud)
条件被解释为
if(X = ( 2 && Y ) = 2){
cin >> input;
}
Run Code Online (Sandbox Code Playgroud)
我想你的意思是
if(X == 2 && Y == 2){
cin >> input;
}
Run Code Online (Sandbox Code Playgroud)
考虑到最好在函数声明中包含默认参数而不是函数定义,因为通常它是在编译单元中可见的声明.
例如
void goToXY( int = 0, int = 0 );
Run Code Online (Sandbox Code Playgroud)
您也可以在块作用域中重新声明该函数,并提供另一个默认参数.