【问题标题】: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".
}

我试图弄清楚为什么我不能使用布尔方法进行引用调用(是的,我也在擦除该方法后进行了测试),然后我意识到我的主要方法中的布尔变量正在改变在其自己的。请帮忙!

【问题讨论】:

    标签: c++ variables boolean pass-by-reference main


    【解决方案1】:

    您的 if 语句需要双等于 == 进行比较。您正在使用 =

    分配给您的变量

    哦,x=true 分配给 x 并且它本身也是 true

    【讨论】:

    • 如果您将警告级别设置得足够高,许多编译器会警告您此类代码。
    猜你喜欢
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 2020-08-27
    • 2022-01-14
    相关资源
    最近更新 更多