gpt4 book ai didi

c++ - while(true) switch case -- 是否有可能实现可变大小写匹配,例如 : using a for loop?

转载 作者:行者123 更新时间:2023-11-28 07:55:00 26 4
gpt4 key购买 nike

我只是想知道是否可以使用键盘实现可变大小写?因此,案例可以是从 a 到 z 的任何选择及其完全可变的,例如:只有选择 a)、b) 和 c) 出现在一个条件中 bur 在另一个 a)、b)、c)、d) 和 e) 中可能出现.假设它们都调用相同的函数但输入不同的参数。

    char choice;
int i;
while(true)
{
// This increments from char 'a' onward to 'b', 'c', 'd', etc.
for (i = 0; i < number; i++){
char character = 'a';
cout << static_cast<char>(character + i) << ") list of choices" << endl;
}

cin >> choice;

switch(choice) {

// Same incremental principal to achieve variable cases
for (i = 0; i < number; i++){
char character = 'a';
character = (static_cast<char>(character + i) );

case character: carryOutJob(argumentDependantOnCharacter);
}
}
}

如果我运行与此类似的代码,我会得到看起来有点像这样的错误:

: error: ‘character’ cannot appear in a constant-expression
: error: jump to case label [-fpermissive]
: error: crosses initialization of ‘char character’
: error: expected ‘;’ before ‘}’ token
Error 1

最佳答案

C++ 规则说 case 表达式必须是常量,因此编译器可以在编译时为其创建代码,除此之外,如果您一次检查一个字符,为什么不使用 如果?

关于c++ - while(true) switch case -- 是否有可能实现可变大小写匹配,例如 : using a for loop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878223/

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