c++ - '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 循环是错误的。如何在不出错的情况下使用该循环的函数返回值?如果有人可以向我解释为什么编译器不能接受这段代码,还有可能吗?先感谢您。
解决方案
变成. enemy.getHealth <<= 0
_enemy.getHealth() <= 0
<<=
是一个不起眼的 C++ 运算符,它可能不是您想要的。它用作a <<= b
where a = a << b
。我认为您的意思是“a 小于或等于 b”,即a <= b
.
也是Actor::getHealth
一个函数,所以你需要把它作为一个没有参数的函数来调用enemy.getHealth()
推荐阅读
- ios - 为 UINavigationBar 的标题设置没有特定大小的自定义字体
- r - 如何在 R 中的日期序列中包含年份值?
- c# - 来自 ajax 的 Web api Post 调用失败
- javascript - Angular 5 和 6 之间导入 javascript 库的差异 - 这是正确的语法
- java - YARN“user.dir”上的火花
- triggers - 触发以防止用户向商机添加多个产品
- angular - 构建 cdk modal - ngOnInit 未触发且未传递数据
- java - 面临错误 java.io.IOException: Stream Closed while merging 2 pdfs
- java - 查找数组中数字的总和 - 不包括数字 13 和紧随其后的数字
- angular - Angular 6 forkJoin 不返回数据