【问题标题】:non-standard syntax; use '&' to create a pointer to member. Accessing boolean variable [closed]非标准语法;使用 '&' 创建指向成员的指针。访问布尔变量
【发布时间】:2017-11-16 18:11:38
【问题描述】:

我一直在寻找为什么这不起作用。我还没有得到明确的答案。

谁能解释为什么尝试访问此布尔变量并将其与另一个布尔变量进行比较不起作用?

我还尝试将比较的rhs 设置为0,这样就消除了布尔/整数错误,但我仍然收到错误消息。

#include <iostream>

using namespace std;

class MyClass {
public:
    MyClass() {
        setWorking(true);
    }

    //Mutator
    void setWorking(bool x) { working = x; }

    //Accessor
    bool getWorking() { return working; }

private:
    bool working;
};

int main() {

    MyClass alpha;

    if (alpha.getWorking == true) {
        cout << "its working\n";
    }
    else {
        cout << "not working\n";
    }

    return 0;
}

【问题讨论】:

  • 你忘了括号:alpha.getWorking()
  • using namespace std; is a bad practice,永远不要使用它。
  • 我不敢相信我忘记了 ()。我已经尝试解决这个问题将近 2 个小时。非常感谢
  • 您还应该阅读并粘贴错误消息
  • 请不要这样做==true

标签: c++ syntax


【解决方案1】:

main函数中

if (alpha.getWorking == true)

应该是

if (alpha.getWorking())

【讨论】:

  • 我认为cmets已经覆盖了它......
猜你喜欢
  • 2020-03-30
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
相关资源
最近更新 更多