Vic*_*ard 8 c++ enumeration namespaces using class
在我写的石头,剪刀,剪刀程序中,我列举了三种不同的动作并将它们声明为一个类。但是,当我尝试编写using语句以便避免使用范围运算符时,它似乎不起作用。有人知道为什么吗?
enum class choice {rock, paper, scissors};
using namespace choice;
出现一条错误消息,说:[错误]'选择'不是名称空间名称。为什么是这样?我认为在这种情况下可以选择一个名称空间。
Bap*_*tou 21
在 C++20、P1099R5 中可以实现:
enum class choice {rock, paper, scissors};
using enum choice;
Run Code Online (Sandbox Code Playgroud)
namespace choice
{
enum class type {rock, paper, scissors};
constexpr auto rock = type::rock ;
constexpr auto paper = type::paper ;
constexpr auto scissors = type::scissors;
}
int main()
{
choice::type move;
using namespace choice;
move = rock;
move = paper;
move = scissors;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Pet*_*ker -1
choice
不是命名空间,因此using namespace choice;
无效。如果您不想使用作用域指示符,请不要使用作用域枚举。一个简单的枚举将适用于您到目前为止提到的内容:
enum choice { rock, paper, scissors };
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4315 次 |
最近记录: |