0

分数の実際の値を表示する次のプログラム コードを添付すると、ビルドは成功しますが、プログラムはスレッド エラーでクラッシュします。どこが間違っているのか教えてください。助けていただければ幸いです。
ありがとう
マーベリック10

#import<Foundation/Foundation.h>

@interface Fraction : NSObject
{
    int numerator;
    int denominator; // variables to be used
}
-(void) print;
-(void) setNumerator:(int) n;
-(void) setDenominator:(int) d;
-(int) numerator;
-(int) denominator;
-(double) convertToNum; // new method declared
@end

@implementation Fraction
-(void) print
{
NSLog(@"%i/%i",numerator,denominator);
}
-(void) setNumerator :(int) n
{
numerator=n;
}
-(void) setDenominator :(int)d
{
denominator=d;
}
-(int)numerator
{
return numerator;
}
-(int) denominator
{
return denominator;
}
-(double) convertToNum
{
if(denominator!=0) // checking for denominator to be non zero
return (double) numerator/denominator;
else
return NAN;
}
@end
//Program Section
int main(int argc, char*argv[])
{
    NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc] init];

    Fraction * aFraction =[[Fraction alloc] init];
    Fraction * bFraction =[[Fraction alloc] init];

    [aFraction setNumerator:1]; // setting the numerator for the first fraction.Similarly denominator
    [aFraction setDenominator:4];
    [aFraction print];
    NSLog(@"= ");
    NSLog(@"%g",[aFraction convertToNum]);

    [bFraction print];
          NSLog(@"="); 
    NSLog(@"%g",[bFraction convertToNum]);

    [aFraction release];
    [bFraction release];

    [pool drain];
    return 0;
}
4

1 に答える 1

0

-(void)setNumerator にブレークポイントを追加したため、Thread1:Breakpoint1.1 を取得します。ブレークポイントを追加するために、そのスペースを誤ってクリックしただけかもしれません。

于 2012-10-28T18:40:49.107 に答える