c++ - 在 case 语句标签中使用函数调用

标签 c++ switch-statement

能否将函数调用作为 case 语句标签。例如:

char x

switch(x)
{
   case isCapital():
      capitalcount++;
      break;

   case isVowel():
      vowelcount++;
      break;
   .
   .
   .
   .
   .

}

这在 C++ 中允许吗?

最佳答案

case 标签中的值需要是常量表达式。也就是说,您的直接问题的答案是:是的,您可以在 case 标签中调用某些函数。但是,不是您尝试调用的人。不过,您可以使用多个标签来引用一组语句:

case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
    do_vowels();
    break;

关于c++ - 在 case 语句标签中使用函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13925068/

相关文章:

c++ - 在 Windows 中编写引用 HDF5 的 CMakeLists 的正确方法

c++ - 为什么要有头文件和 .cpp 文件?

java - 我怎样才能让这个 switch 语句使用扫描仪工作?

带有 switch/case 语句的 C 编译器指令?

c# - linq中的switch case

c++ - 允许命令行工具使用 ofstream 创建文件

c++ - OSG地球相机位置

c++ - 如何重定向所有 OpenGL 输出?

swift - `switch` 类似模式匹配的控制流语句匹配任何和所有真实情况?

java - 无法理解它是如何工作的 case MONDAY : FRIDAY: