建议解决枚举歧义名称冲突?

Pal*_*han 0 c++ enums namespaces

我在代码库中有一个类似于以下内容的库:

namespace rat {

   ...

   enum myEnum {
      BLUE,
      RED
   }

   ...
} //namespace rat
Run Code Online (Sandbox Code Playgroud)

之后我尝试使用该库在代码库中编译一个应用程序,当我使用命名空间rat(代码库主命名空间)说BLUE可能是rat::myEnum rat::BLUE或者rat::enums::Freq rat::enums::BLUE来自我不熟悉的其他文件时,它警告我有歧义(并且不是我的)有一个枚举Freq,在名称空间鼠标中的名称空间枚举中有一个名为BLUE的人...

用户代码中有没有办法说出我现在想要哪一个?或者我必须在名称空间mylib中嵌套mylibs枚举,然后说rat :: enums :: BLUE或rat :: mylib :: BLUE?

rod*_*igo 5

枚举常量的完整明确的名称会::rat::BLUE,::rat::enums::BLUE等等.

请记住,::表达式的开头代表全局命名空间.