gpt4 book ai didi

尝试读取枚举状态时出现 C++ 枚举错误

转载 作者:行者123 更新时间:2023-11-30 01:13:26 25 4
gpt4 key购买 nike

我正在用 C++ 制作游戏,但我遇到了枚举问题。我正在定义一个枚举:

enum class CharacterClass {
warrior = 0,
scout = 1,
mage = 2
};

我在 Player 类中使用它:

class Player
{
public:
Player();
~Player();

CharacterClass PlayerClass;

private:
};

当我尝试设置枚举的状态时:

Player player();
player.PlayerClass = CharacterClass::mage;

编译器发现这个错误:

request for member 'PlayerClass' in 'player', which is of non-class type 'Player()'

最佳答案

这是最vexing parse : player 理解为函数声明。所以 player.PlayerClass 触发了这个错误。

尝试:

Player player{};  // prefer uniform brace-initialisation 

此博客条目关于 variable initialization很好地解释了每种形式的优缺点。

关于尝试读取枚举状态时出现 C++ 枚举错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32146889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com