gpt4 book ai didi

objective-c - 使用 NULL 比较点和整数 ('int' 和 'void *' )

转载 作者:行者123 更新时间:2023-12-03 16:50:38 25 4
gpt4 key购买 nike

在运行应用程序之前,我收到错误消息“使用 NULL 比较点与整数('int' 和 'void *')”。奇怪的是应用程序每次都运行得很好。这是代码片段。

- (IBAction) addButtonAction:(id)sender
{
int timeStamp = nil;

timeStamp = self.hourTextField.intValue;


if (timeStamp == NULL) {
NSLog(@"Nothing here for ya");
}
else {
NSLog(@"monkey shit");
}

}

我在线路上收到错误。

    if (timeStamp == NULL) {

最佳答案

NULL 仅用于指针比较。 timeStamp 是一个 int,而不是一个指针,因此比较没有任何意义。编译器看到与 NULL 的比较并说:“也许他认为 timeStamp 是一个指针,但事实不是,所以我最好警告他”。在这种情况下,您可能需要检查 timeStamp 是否不:

if (timeStamp == 0) {
NSLog(@"Nothing here for ya");
}

事实上,这实际上就是您的代码现在正在做的事情,因为实际上NULL 0。

还值得注意的是,编译器发出的是警告,而不是错误。重要的区别在于,警告是编译器认为可能是错误的内容,但不会阻止程序编译。错误实际上会阻止编译器完成其工作,并导致编译失败。您永远不应该忽略警告。你可以告诉编译器 treat warnings as errors ,对自己实行纪律。

关于objective-c - 使用 NULL 比较点和整数 ('int' 和 'void *' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15163728/

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