对象含有与成员函数不兼容的类型限定符

class assassin {
	int health;
	public:
	assassin(int _health = 0) :health(_health) {};
	int gethealth() {
		return health;
	}
};
int main()
{
	const assassin p1(3);
	cout << p1.gethealth() << endl;

	return 0;
}

错误(活动) E1086 对象含有与成员 函数 “assassin::gethealth” 不兼容的类型限定符
解决方法:将int gethealth() 改成int gethealth()const
对 于 一 个 常 量 对 象 , 只 能 调 用 常 函 数 \color{#FF3030}{对于一个常量对象,只能调用常函数}

class assassin {
	int health;
	public:
	assassin(int _health = 0) :health(_health) {};
	int gethealth() const {
		return health;
	}
};
int main()
{
	const assassin p1(3);
	cout << p1.gethealth() << endl;

	return 0;
}

你可能感兴趣的:(c++)