正确使用枚举元素
using enum elements properly
假设我有这些文件,如下所示:
啊
namespace cool
{
class A
{
public:
enum Status {OK, NotOK, NotOK2};
};
}
B.h
#include "A.h"
namespace cool
{
class B
{
public:
A::Status doSth(int param1);
};
}
B.cpp
using cool::A;
using cool::B;
A::Status B::doSth(int param1)
{
return A::Status::OK;
}
所以我的问题是我不想写A::Status::OK
,每当我想返回状态类型时。有没有办法只返回OK
?或者Status::OK
,这样我至少可以节省一些时间,而不是每次都写类名。
到目前为止,我显然已经尝试添加using cool::A::Status;
,using A::Status;
和using cool::A::Status::OK;
。但是后来我得到编译错误:
'cool::A' 不是命名空间或无作用域枚举
关于如何返回的任何想法?
解决方案 1: 您已经可以删除Status::
return A::/*Status::*/OK;
解决方案 2: 您可以将enum Status {OK, NAK, MAK};
移到 A 类之外
解决方案 3:创建一个名为OK
的#define
#define OK A::Status::OK
相关文章:
- 在 C++ 中输出枚举类类型的向量元素
- 如何使用谷歌测试检查两个枚举类元素的相等性?
- std::初始值设定项列表来自现有的 std::array,而不枚举每个元素
- C++:如何将枚举元素设置为无限?
- 正确使用枚举元素
- 如何递归枚举每个元素都有上限的所有可能的数组
- 随机生成一个没有重复元素的枚举数组 (C++)
- 结构元素C 的枚举
- 以编程方式推断出枚举的大小,独立于其元素的价值
- 是否可以定义一个宏来定义枚举类和返回枚举元素计数的 GetCount() 方法
- 如何使用枚举元素创建对象
- 使用对其他枚举值的操作定义枚举元素值
- 宣布枚举以及是否在其元素上
- 如何使用 libclang 获取枚举元素的数值?
- 枚举元素定义
- 如何静态断言枚举元素的值
- 用于将枚举元素名称和值保存到文件的 C++ 宏
- 在c++中遍历非连续枚举元素
- 为什么我不能分配错误的枚举元素,但可以与错误的枚举元素进行比较?
- 删除枚举元素的重复项