我在下面有下面的代码,其中一个基类有一个成员,它应该是派生类可以访问的。
但是下面的代码给出了编译错误
...abcAppDelegate.m:30: error: 'baseVal_' undeclared (first use in this function)
如果我使用self->baseVal_
调用变量,或者如果我删除派生类中定义的属性,则一切正常。
此外,如果我定义派生类的类别,那么我可以无错误地访问baseVal_。
//---------------------------------------------------------------
// BASE CLASS
//---------------------------------------------------------------
@interface BaseClass : NSObject
{
@protected
BOOL baseVal_;
}
@end
@implementation BaseClass
@end
//---------------------------------------------------------------
// DERIVED CLASS
//---------------------------------------------------------------
@interface DerivedClass : BaseClass {
}
@property (readwrite) BOOL val;
@end
@implementation DerivedClass
@synthesize val;
- (void) foo {
baseVal_ = YES;
}
@end