gpt4 book ai didi

c++ - 将现有的 C++ 枚举包含到命名空间

转载 作者:行者123 更新时间:2023-11-30 05:27:30 24 4
gpt4 key购买 nike

我正在尝试使用 existing 3rd party enum 类型的表单:

enum EnumType 
{
ONE,
TWO,
THREE
}

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

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

我之所以要这样做,是因为我不想将 enum 的定义放在 API header 的命名空间中。

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

最佳答案

using EnumType 是否满足您的使用需求?一个using-declaration ...

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

如果您仍想“隐藏”EnumType 在您的公共(public) API 中不可见,那么您可以使用相同的值创建您自己的 enum 并转换在您的代码中介于两者之间。

关于c++ - 将现有的 C++ 枚举包含到命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37276921/

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