gpt4 book ai didi

C++ 后端,Objective C 前端,NULL nil 问题

转载 作者:太空狗 更新时间:2023-10-29 20:46:46 27 4
gpt4 key购买 nike

我有一个有趣的问题,我相信有人会遇到过。我在 Objective C Cocoa 中编写前端 UI,在 C++ 中编写后端。在 C++ 中我有

#define NULL 0

不幸的是,这对 nil 造成了可怕的后果。特别是对于 nil 终止的函数调用,因为我现在收到此警告 - “方法分派(dispatch)中缺少哨兵”,我认为这意味着它找不到 nil 终止符。这是我能找到的唯一的 nil 定义:

#ifndef NULL
#define NULL __DARWIN_NULL
#endif /* ! NULL */
#ifndef nil
#define nil NULL
#endif /* ! nil */

在我看来,nil 是 NULL,而我之前为 NULL 定义的东西把一切都搞砸了,尽管我不知道是怎么回事。 NULL 是在 C++ 中定义的,因此它可以与平台无关。我曾尝试重新定义 NULL 和 nil,但似乎没有任何效果。任何关于正确方法的建议都将不胜感激。

最佳答案

在 C 或 C++ 中,尝试自己定义 NULL 会导致未定义的行为。抱歉,您只能这样做。您需要包含已经为您定义它的 header 之一,而不是尝试自己定义它。

关于C++ 后端,Objective C 前端,NULL nil 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271034/

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