首页 > 解决方案 > 'operator' : 作为左操作数

问题描述

#include <iostream>

using namespace std;

class Actor
{
private:
    int health;
    int atkPower;

public:
    Actor()
    {
        health = 100;
        atkPower = 10;
    }

    int getHealth()
    {
        return health;
    }

    void setHealth(int val)
    {
        health = val;
    }
};

int main()
{
    Actor player;
    Actor enemy;

    while (enemy.getHealth <<= 0)
    {

    }

    return 0;
}

while 循环是错误的。如何在不出错的情况下使用该循环的函数返回值?如果有人可以向我解释为什么编译器不能接受这段代码,还有可能吗?先感谢您。

标签: c++

解决方案


变成. enemy.getHealth <<= 0_enemy.getHealth() <= 0

<<=是一个不起眼的 C++ 运算符,它可能不是您想要的。它用作a <<= bwhere a = a << b。我认为您的意思是“a 小于或等于 b”,即a <= b.

也是Actor::getHealth一个函数,所以你需要把它作为一个没有参数的函数来调用enemy.getHealth()


推荐阅读