gpt4 book ai didi

c++ - 是否可以转发声明要在派生类中使用的枚举类?

转载 作者:太空宇宙 更新时间:2023-11-04 16:18:11 26 4
gpt4 key购买 nike

我目前正在为我正在创建的这种简单的 GUI 脚本语言制作一个小型解析器。一切正常,但我需要知道是否可以这样做:

解析器.hpp:

class Parser
{
public:
enum class LineType;
}

GUIParser.hpp:

class GUIParser : public Parser
{
public:
enum class LineType
{
BACKGROUND,
BUTTON,
LABEL,
RADIOBOX,
COMMENT
};
}

这给了我一个错误,但如果可能的话,那么我犯了什么语法错误?

感谢所有帮助!

最佳答案

这是在声明 ParserParser::LineType 中有一个名为 LineType 的枚举。

在派生类中,您有一个名为 LineType 的枚举,其完整“名称”为:GUIParser::LineType

因此,因为您无法预测派生类的名称,所以您无法转发声明它将包含什么。

这就是它背后的逻辑,更简单的答案是:不,它不在标准中。

关于c++ - 是否可以转发声明要在派生类中使用的枚举类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20176229/

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