因此,在头文件中,我有一个名为“ Player”的类:
class Player
{
public:
void move(Player::Direction direction);
private:
enum Direction { LEFT, RIGHT, UP, DOWN };
};
在cpp文件中,我有这个:
void Player::move(Player::Direction direction)
{
}
现在我的问题是,intellisense说在头文件中的类内没有诸如direction之类的成员,但是在cpp文件中它说是有效的。编译时出现错误:“错误C2061:语法错误:标识符'Direction'”
最佳答案
C ++中的一般规则是,在使用事物之前必须先看到事物的声明。
交换声明。 (此外,Player::
是多余的。)
class Player
{
private:
enum Direction { LEFT, RIGHT, UP, DOWN };
public:
void move(Player::Direction direction);
};
关于c++ - C++枚举参数给出标识符错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36068736/