黑马程序员技术交流社区

标题: 为什么这个小程序会有这样的错误? [打印本页]

作者: claud0623    时间: 2014-9-6 12:54
标题: 为什么这个小程序会有这样的错误?
本帖最后由 claud0623 于 2014-9-6 17:48 编辑

看了几天OC视频,最近才开始敲代码,遇到这个程序,出现这样的错误,望各位指明如何修改:
  1. #import <Foundation/Foundation.h>
  2. @interface Person : NSObject
  3. {
  4.     @public
  5.     int age;
  6.     double height = 1.55;
  7. }
  8.     - (void)study;
  9. @end
  10. @implementation Person
  11. - (void)study
  12. {
  13.     NSLog(@"年龄为%d的人在学习", age);
  14. }
  15. @end

  16. int main()
  17. {
  18.     Person *p = [Person new];
  19.     p->age = 10;
  20.     p->height = 1.78;
  21.     [p study];
  22.     return 0;
  23. }
复制代码
用cc 文件名.c -framework Foundation编译时错误如下:
-framework: No such file or directory
Foundation: No such file or directory
m:6: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
m: In function ‘main’:
m:21: error: ‘struct Person’ has no member named ‘height’

作者: 徐闯楠    时间: 2014-9-6 13:32
学过C,但是忘记了不少,但是从编译错误提示,应该是对象没有赋值,或者是赋值类型不合适
作者: reinvent    时间: 2014-9-6 13:59
错在第6行,类的属性不能在定义时初始化,要通过对象来赋值
改为:double height;
作者: claud0623    时间: 2014-9-6 15:25
reinvent 发表于 2014-9-6 13:59
错在第6行,类的属性不能在定义时初始化,要通过对象来赋值
改为:double height; ...

谢谢,MJ老师在视频中说过声明中不允许赋值的,这我都忘了。那你知道为什么编译时会出现
-framework: No such file or directory
Foundation: No such file or directory
这种错误呢?
作者: ★彬★卍囧神    时间: 2014-9-6 15:48
第6句,成员变量不能定义的时候赋值
作者: claud0623    时间: 2014-9-6 15:54
★彬★卍囧神 发表于 2014-9-6 15:48
第6句,成员变量不能定义的时候赋值

是的,就是这个错误。那么,版主知道为什么编译时会出现
-framework: No such file or directory
Foundation: No such file or directory
这种错误呢?为此,a.out程序都没能生成。
我试了一下其他程序,都可以成功用-framework Foundation编译的,唯独这个不行。
作者: ★彬★卍囧神    时间: 2014-9-6 15:57
claud0623 发表于 2014-9-6 15:54
是的,就是这个错误。那么,版主知道为什么编译时会出现
-framework: No such file or directory
Fou ...

你看看你xcode里的founddation在?
作者: claud0623    时间: 2014-9-6 16:32
怎么找啊?我找了老半天没找到,记得老师以前示范过,不知是哪个视频了。
不过,我用-framework foundation编译其他有foundation框架的程序可以通过。
作者: claud0623    时间: 2014-9-6 16:36
★彬★卍囧神 发表于 2014-9-6 15:57
你看看你xcode里的founddation在?

一时手忙,直接在帖子回复了。
怎么找啊?我找了老半天没找到,记得老师以前示范过,不知是哪个视频了。
不过,我用-framework foundation编译其他有foundation框架的程序可以通过。
作者: reinvent    时间: 2014-9-6 16:49
“用cc 文件名.c -framework Foundation编译时错误如下:”
你确定你编译时用的 .c ?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2