c++要求左值作为赋值的左操作数
Error lvalue required as left operand of assignment c++
整个程序基本上只允许用户移动光标,如果用户在给定的坐标范围(2,2)内,则允许用户键入输入。我只是提供了一些我认为足以解决这个问题的代码。
我不知道是什么引起这个问题的。你能解释一下为什么会这样吗!!
void goToXY(int ,int);
创建了一个带有两个int型的函数。
int X = 0, Y = 0;
初始化了两个int型。
if(X = 2 && Y = 2){
cin >> input;
}
这是错误所在(它在上面)
void goToXY(int x = 0, int y = 0) {
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
这里是我定义函数的地方(它在上面)
问题出在if语句
if(X = 2 && Y = 2){
cin >> input;
}
条件解释为
if(X = ( 2 && Y ) = 2){
cin >> input;
}
我想你是指
if(X == 2 && Y == 2){
cin >> input;
}
考虑到最好在函数声明中包含默认参数,而不是在函数定义中包含,因为通常是在编译单元中可见的声明。
例如void goToXY( int = 0, int = 0 );
也可以在块范围内重新声明函数,并提供另一个默认参数。
你有一个问题:
if(X = 2 && Y = 2){
cin >> input;
}
由于您使用了错误的操作符(=
,而不是==
),那么2 && Y
的优先级变得更高。它被计算为:
if(X = (2 && Y) = 2){
cin >> input;
}
如果为真,将简化为:
if(X = true = 2){
cin >> input;
}
这是没有意义的,因为true=2
。将代码修改为:
if(X == 2 && Y == 2){
cin >> input;
}
相关文章:
- 需要左键作为赋值的左操作数?? 在链表中添加Add_End、删除和Delete_Front?
- 作为赋值(增加引用变量)C++的左操作数所需的左值
- C++ - 左操作数作为赋值的左操作数
- 当我尝试构建此程序时,出现此错误:需要左键作为赋值的左操作数
- 添加数组元素:需要左键作为赋值的左操作数
- 对条件表达式结果的赋值(其中第二个和第三个操作数是相同类型和值类别的变量)是否仍然存在?
- 在 c 程序中需要左操作数作为赋值的左操作数
- 基本类型变量的赋值计算序列,右操作数引发异常
- 需要左值作为赋值错误的左操作数通过 if 语句
- 在 C++ 中需要左键作为赋值错误的左操作数
- 错误:左值需要作为赋值的左操作数
- 强制函数仅作为赋值操作数调用
- Geany c++,错误为“赋值的左操作数需要左值”
- 运算符重载所需的左值作为赋值的左操作数
- 气泡排序中赋值c++的左操作数需要左值
- 错误:使用四进制和随机数生成器进行赋值时,左值需要作为左操作数
- 不能赋值:左键需要作为赋值的左操作数
- 错误:左值需要作为赋值 C++ 的左操作数
- 左值需要作为赋值的左操作数(while 循环)
- 左键需要作为赋值的左操作数?查看其他线程无济于事