为什么这段程序会出错??? derived *pd=new derived;
base* pb=pd;
cout<<typeid(*pb).name()<<endl;
delete pd;base和derived类的声明如下:class base
{
public:
base(void);
~base(void);
virtual void vvfunc(void);
};
class derived :public base
{
public:
derived(void);
~derived(void);
virtual void vvfunc(void);
};
base* pb=pd;
cout<<typeid(*pb).name()<<endl;
delete pd;base和derived类的声明如下:class base
{
public:
base(void);
~base(void);
virtual void vvfunc(void);
};
class derived :public base
{
public:
derived(void);
~derived(void);
virtual void vvfunc(void);
};
warning C4541: 'typeid' used on polymorphic type 'class base' with /GR-; unpredictable behavior may result一运行,就出错,为什么啊???????????????