微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

objective-c – 标头中的Obj-C函数声明

我试图将一个C风格的函数放在Objective-C类的头文件中. (我的术语在这里可能是错的 – 我只是习惯于编写Objective-C类方法而不是函数).它看起来如下:
// Sort function
NSInteger sort(Nsstring *aString,Nsstring *bString,void *context);

NSInteger sort(Nsstring *aString,void *context) {
    return [aString compare:bString options:NSNumericSearch];
}

不成功的结果是:

Expected ‘=’,‘,’,‘;’,‘asm’ or ‘attribute‘ before ‘{‘ token

关于我缺少什么的任何想法?谢谢.

解决方法

我的猜测是你把函数定义放在你的类的@interface中.相反,请确保C样式函数声明不在Objective-C @interface声明中:
// declare C functions here
NSInteger sort(Nsstring *aString,void *context);

@interface MyClass : NSObject
{
  // class instance vars
}

// class properties & instance methods
@end

原文地址:https://www.jb51.cc/c/115868.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐