为啥我的布尔变量会改变(C++)?
Posted
技术标签:
【中文标题】为啥我的布尔变量会改变(C++)?【英文标题】:Why does my boolean variable change (C++)?为什么我的布尔变量会改变(C++)? 【发布时间】:2019-08-11 19:17:42 【问题描述】:有人可以向我解释这里发生了什么吗?
#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".
我试图弄清楚为什么我不能使用布尔方法进行引用调用(是的,我也在擦除该方法后进行了测试),然后我意识到我的主要方法中的布尔变量正在改变在其自己的。请帮忙!
【问题讨论】:
【参考方案1】:您的 if 语句需要双等于 ==
进行比较。您正在使用 =
哦,x=true
分配给 x
并且它本身也是 true
。
【讨论】:
如果您将警告级别设置得足够高,许多编译器会警告您此类代码。以上是关于为啥我的布尔变量会改变(C++)?的主要内容,如果未能解决你的问题,请参考以下文章