Почему при попытке создать этот простой проект XCode появляется «ошибка разбора перед маркером @»? - PullRequest
2 голосов
/ 05 апреля 2011

Полный вопрос новичка. Я изучаю Objective-C из книги Кочана. Когда я пытаюсь построить следующий очень простой проект, я получаю

ошибка разбора перед маркером '@'

ссылается на оператор @property int numerator, denominator; в файле Fraction.h.

Вот файл Fraction.h:

#import <Foundation/Foundation.h>

@interface Fraction : NSObject
{
    int numerator;
    int denominator;
}

@property int numerator, denominator;

-(void) print;
-(void) setTo: (int) n over: (int) d;
-(double) convertToNum;

@end

Вот файл Fraction.m:

#import "Fraction.h"

@implementation Fraction

@synthesize numerator, denominator;

-(void) print
{
    NSLog(@"%i/%i", numerator, denominator);
}
-(void) setTo: (int) n over: (int) d
{
    numerator = n;
    denominator = d;
}
-(double) convertToNum
{
    if (denominator != 0)
        return (double) numerator/denominator;
    else
        return 1.0;
}

@end

Любая помощь в понимании того, почему я получаю эту ошибку синтаксического анализа, очень ценится.

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Я обнаружил это в Objective-C 2.0 (но, что интересно, не в книге Кочана): «Все приложения Objective-C, разработанные для Mac OS X, в которых используются [выше] улучшения для Objective-C 2.0, несовместимы со всеми операционными системами.системы до 10,5 (леопард). "Итак, мы нашли объяснение.Спасибо всем.

0 голосов
/ 05 апреля 2011

Привет Сколфакс добро пожаловать кажется ваша проблема в @property int числитель, знаменатель; а также NSLog (@ "% i /% i", числитель, знаменатель);

...