【发布时间】:2012-10-13 01:36:11
【问题描述】:
所以我正在用 C++ 制作一个小游戏,但我遇到了一个问题。我的 player.h 文件中有一个名为 player 的类,在这个类中我有一个名为 getPotion() 的公共函数。我还有一个名为potion 的私有静态变量。我对球员的健康也有同样的看法,getHealth() 函数完美地返回了私有静态 int playerHealth。但显然没有理由,getPotion 函数不会返回药水。我得到一个错误。我还在所有其他文件中包含了头文件。
代码如下:
(对不起,我不知道怎么插入代码,所以我必须写出来)
player.h(我遇到问题的代码):
class Player{
private:
static int potions;
public:
int getPotions();
}
player.cpp(又是我遇到问题的代码):
int Player::potions;
int Player::getPotions(){
Player player;
return player.potions;
}
我可能遗漏了一些代码,比如return之类的,但那是因为我有很少的时间来问这个问题,所以我把与我的问题相关的部分。
【问题讨论】:
-
为什么要在
getPotions函数中新建Player?无论是什么思维过程让你认为这是明智的做法,都需要重新审视。 -
另外,您几乎可以肯定不希望将
potions声明为static。 -
@Robᵩ:没错。如果有两个
Players,每个人都需要自己计算他们拥有的药水数量。所以它应该不是静态的。 -
好的,我已经改变了它,所以它不再是静态的了,但是我现在怎么称呼它呢?
-
当询问无法编译的内容时,您应该提供编译器错误和行。
标签: c++