gpt4 book ai didi

ios - 表达式不是 iOS objective-c 中的整数常量表达式

转载 作者:可可西里 更新时间:2023-11-01 05:01:38 26 4
gpt4 key购买 nike

我想使用下面的表达式

-(void)SwitchCondn{
int expression;
int match1=0;
int match2=1;

switch (expression)

{
case match1:

//statements

break;

case match2:

//statements

break;

default:

// statements

break;

}

但是我得到了

enter image description here

当我研究时我发现

In order to work in Objective-C, you should define your constant either like this:
#define TXT_NAME 1
Or even better, like this:
enum {TXT_NAME = 1};

我很长时间以来一直在使用这种方法。现在我的变量值将在运行时发生变化,所以我需要以其他方式定义,我不想使用 if else 所以有没有其他方式声明变量的方式

我已经学习了

Why can I not use my constant in the switch - case statement in Objective-C ? [error = Expression is not an integer constant expression]

Objective C switch statements and named integer constants

Objective C global constants with case/switch

integer constant does 'not reduce to an integer'

最佳答案

错误 expression is not an integer constant expression 的意思就是它所说的:在 case 中,值必须是常量,例如,不是变量。

您可以将 switch 上方的声明更改为常量:

const int match1=0;
const int match2=1;

或者您可以使用枚举。或者 #define。但是你不能在那里使用非常量变量。

关于ios - 表达式不是 iOS objective-c 中的整数常量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31119606/

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