【发布时间】:2022-01-08 03:43:57
【问题描述】:
我正在尝试探索 C++ 中的“使用”,目前我想将 typedef 转换为 using。
例如,
typedef enum tag_EnumType : int {
A,
B,
C,
} EnumType;
我尝试将其转换如下
using EnumType = enum tag_EnumType : int {
A,
B,
C,
};
但是,编译失败。有人可以帮忙吗?提前致谢。
事实上,我正在做一个巨大的项目。一些 typedef 枚举可以重写为 using,但其他则不能。有谁知道原因?是跟命名空间有关吗?
【问题讨论】:
-
你问为什么有些可以重写,如果你提供一个例子你可能会增加答案的机会
-
@MatG thx 求建议,好像 using 定义的命名空间中的枚举无法重写,所以我想知道是否是因为 C++ using 的一些特殊有机体
-
我删除了我的答案,因为我在回答您的代码确实有效时没有意识到。就像现在一样,我想说这个问题在没有细节的情况下是不可重现的。
-
"编译失败" 究竟是怎么回事?什么错误信息?
-
为什么要使用
typedef或using?具体原因?为什么不直接写enum EnumType : int { ... },这是C++ 中的常用方式。typedef和using都不需要。