我正在尝试使用现有的第三方 enum类型的表单:

enum EnumType
{
    ONE,
    TWO,
    THREE
}

在我的项目中有两种用法:

我想将
  • 导入某些文件中的
  • 并将其放入现有的命名空间中(例如“enum”)。
  • namespace myproject文件中的
  • 我想导入此API.h只是为了声明具有此enum返回类型的方法(在cpp文件中,我只是将其从enum转换为myproject::EnumType)

  • 我要这样做的原因是,我不想将EnumType的定义放在API header 的 namespace 中。

    我对第一点有疑问,我该怎么办?

    最佳答案

    using EnumType不足以供您使用吗?一个using-declaration ...

    namespace my_project {
      using ::EnumType;
      //...
    }
    

    如果您仍然想“隐藏” EnumType,使其在公共(public)API中不可见,则可以创建具有相同值的自己的enum,并在代码中的两者之间进行转换。

    10-08 17:00