gpt4 book ai didi

objective-c - 如何声明一个枚举变量为空?

转载 作者:行者123 更新时间:2023-12-04 03:56:23 25 4
gpt4 key购买 nike

我是 Objective C 的新手。这是我的代码

enum effectName {
RESET, Flea,Tint,Grayscale,Pixelate,Blur,Mirror,changeBrightness,changeContrast,Invert
};
enum effectName EffectToApply;
enum effectName prevEffect;

在实现文件中,我必须将 EffectToApply 和 prevEffect 声明为 null。我试着这样做
-(void) Effect    
{
EffectToApply= NULL;
prevEffect=nil;
}

但它给出了一个警告不兼容的整数转换指针。有人可以帮助我如何做到这一点吗?

最佳答案

枚举实际上是一个整数,并且与整数一样,这种类型不能在 C 或 Objective-C1 中表示从 0 开始的 NULL 值

解决这个问题的最简单方法是使用“NONE”枚举选项,通常值为 0。

enum effectName {
NoEffect, ResetEffect, ..
};

enum effectName EffectToApply; // default value => 0 / NoEffect

1 见 Can a conforming C implementation #define NULL to be something wacky对于很多 C 律师来说,NULL 是如何定义的;一些图书馆 define NULL as 0 or 0L ,虽然被允许(不幸的是)不会发出观察到的警告。

关于objective-c - 如何声明一个枚举变量为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25297324/

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