一道关于dynamic_cast题目不理解
程序如下:
#include<iostream>
using namespace std;
class A{
public:
A(){}
};
class B:public A{
public:
B(){}
};
void main()
{
A *pb=new B();
B b;
A *pa=dynamic_cast<A *>(pb);
}
在VC6.0中程序编译报错:error C2683: dynamic_cast : 'A' is not a polymorphic type
但是在VS2005中却可以正确编译并执行。
还有一点,如果想使用动态运行类别检查或者类型转换的话,在VC6.0中应该在设置里,把Enable Run Time Information选项选上,想问大家一下,如果在VS中,这个应该在哪里设置,没找到怎么设置,还是说,这个在VS中已经是自动的?
希望懂的大神们不吝赐教,感谢。。。。