如何通过枚举名称直接切换,vc++ mfc

How to pass enum name to switch directly, vc++ mfc

我正在搜索以了解如何将枚举名称直接传递给 switch case。 例如:

enum Flower { rose, jasmine };

switch (Flower)
{
case rose : //Code for rose
case jasmine: //Code for jasmine
}

谁能帮我看看这个怎么做?我从 C 中找到了这段代码部分。但我需要 C++ 中的相同代码部分。在 C++ 中有可能吗?请帮我。谢谢大家

你可能想要这个:

Flower f = rose;
...
switch (f)
{
  case rose : //Code for rose
  case jasmine: //Code for jasmine
}

在 C 和 C++ 程序员中,switch(Expression),Expression 的结果必须是整数值。枚举花{玫瑰,茉莉花}; Flower只是一个类型,不是一个值, 像 int rose = 0,int jasmine=1,你不能在 switch 表达式中使用它。 你可以像这样定义 enum Flower fname;

switch(fname)
{
   case rose:
    ...
   break;
   case jasmine:
    ...
   break;
   default:
   break;
}