迅雷的笔试题,怎么在VC++6.0上编译报错呢
#include <iostream>
using namespace std;
struct IU
{
virtual void QI(void **p) = 0;
};
struct IA : public IU
{
virtual void func() = 0;
};
struct IB : public IU
{
virtual void func() = 0;
};
class C : public IA, public IB
{
public:
void IA::func() // 此处报错
{
cout << "IA func" << endl;
}
void IB::func() //此处报错
{
cout << "IB func" << endl;
}
void QI(void **p)
{
*p = (IA*)this;
}
};
void main()
{
C c;
IB *pB = &c;
IA *pA;
pB->QI((void**)&pA);
pA->func();
pB->func();
}