有人可以向我解释这里发生了什么吗?
#include <iostream>
using namespace std;
int main() {
bool x = false;
if (x = true) { cout << "x is true" << endl; }
if (x = false) { cout << "x is false" << endl; }
// for some reason always prints "x is true".
}
我试图弄清楚为什么我无法使用布尔方法进行按引用调用(是的,我也在擦除该方法后进行了测试),然后我意识到我的主方法中的布尔变量正在更改在其自己的。请帮忙!
答案 0 :(得分:6)
您的if语句需要双等于==
进行比较。您正在使用=
哦,x=true
分配给x
,它本身也是true
。