error C2243: 'type cast ' : conversion from 'class CTeacher * ' to 'class CBase * ' exists, but is inaccessible
我在编译时出现了这个错误
for(i=0;i <numberOfTeacher;i++)
{
CTeacher* tea=CTeacher::NewL(readTeaStream);
CleanupStack::PushL(tea);
flat2-> AppendL(*tea);
CleanupStack::Pop(tea);
}
前面的定义是
static CStudent* NewL(TDes& aName,TInt32 aNo,TInt32 aScore);
static CTeacher* NewLC(TDes& aName,TInt32 aNo,TInt32 aScore);
~CStudent();
static CTeacher* NewL(RReadStream& aStream);
static CTeacher* NewLC(RReadStream& aStream);
CArrayFixFlat <CTeacher> * flat1=new(ELeave)CArrayFixFlat <CTeacher> (4);
把//CleanupStack::PushL(tea);
//CleanupStack::Pop();
注销掉可以编译但是不能运行
这里一个压栈出栈在别的地方也经常用,怎么会有问题呢
是不是其他代码的问题呢
初学Symbian ,大家多多指教阿
1. CTeacher要从CBase派生
2. CArrayFixFlat <CTeacher*> * flat1 = new (ELeave) CArrayFixFlat <CTeacher*> (4);
flat1-> AppendL(tea);
最好把继承关系列一下
我继承的时候没有写public
我也出现了这个问题。确实是public的问题。