Yes thanks.
That was careless of me.
And I had made the problem statement far too long for the actual
problem to stand out.
It was that this:
- (void) callPrintConstFloat:(id)pId {
[pId printFloat:98.76]; // pId is object of
class AnonTargetClass
}
causes this method in object of class AnonTargetClass
- (void) printFloat:(float)pF {
NSLog(@" %6.3f",pF);
}
to print
-151996493463552.000
even though
AnonTargetClass *atcObj = [[AnonTargetClass alloc] init];
[atcObj printFloat:98.76];
prints
98.760
Here's the full mainline and results
#import <Cocoa/Cocoa.h>
#import "AnonTargetClass.h"
#import "CallingClass.h"
int main(int argc, char *argv[])
{
AnonTargetClass * atcObj = [[AnonTargetClass alloc]init];
CallingClass * callingObj = [[CallingClass alloc]init];
[callingObj callPrintConstFloat:atcObj];
[atcObj printFloat:98.76];
}
2008-05-16 16:07:41.058 testDynamicBinding[856:10b]
-151996493463552.000
2008-05-16 16:07:41.059 testDynamicBinding[856:10b] 98.760