gpt4 book ai didi

objective-c - @interface 之前的预期标识符或 '('

转载 作者:太空狗 更新时间:2023-10-30 04:02:14 24 4
gpt4 key购买 nike

第一篇文章,我真的希望这不是一个重复或已解决的问题。我尝试在这里和谷歌搜索,虽然我发现了类似的 Expected identifier or '(' 错误,但没有一个解决方案对我有用。

基本上,我正在尝试学习设计模式,因为我以前了解一点 java,所以我想利用它作为学习 objective-c 的机会,所以我有一个可以运行的 java 程序和一个我可以使用的 xCode 项目在我的头文件中 @interface

之前得到错误 Expected identifier or '('

这是我的 java 解决方案(我知道很简单):

public class Duck {

public void quack(){
System.out.print("Quack!");

}
public void swim(){
System.out.print("swimming duck!");
}
public void display(){
quack();
swim();
}

}
public class mainClass {
public static void main(String[] args){
Duck duck = new Duck();
duck.display();
}
}

这是我的 objective-c 版本。

//duck.h
#include <CoreFoundation/CoreFoundation.h>

@interface Duck : NSObject{ //Expected identifier or '('

}
@end

// Duck.m
#include "Duck.h"
@implementation Duck
-(void)quack{
printf("Quack!");
}
-(void)swim{
printf("swimming duck!");
}

-(void)display{
[self quack];
[self swim];
}
@end

// main.c
#include <CoreFoundation/CoreFoundation.h>
#include "Duck.m"

int main(int argc, const char * argv[])
{
Duck *duck = [[Duck alloc] init];
[duck display];
return 0;
}

如果有人能提供帮助,我将不胜感激,如果这是重复的帖子,再次抱歉

最佳答案

编译器不知道 NSObject 是什么。如果您查看 reference ,你会看到它是 Foundation 框架的一部分,而不是 CoreFoundation,所以:

#import <Foundation/Foundation.h>

代替:

#import <CoreFoundation/CoreFoundation.h>

关于objective-c - @interface 之前的预期标识符或 '(',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12039553/

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