返回信息流class C
{
public:
virtual void m(){
cout<<"virtual fun"<<endl;
}
};
class C1 : public C
{
public:
void fun(){
cout<<"fuck"<<endl;
}
void m()
{
cout<<"derived virtual"<<endl;
}
};
int main()
{
C* c = new C1() ;
c->m();
dynamic_cast<C1*>(c)->fun();
}
dynamic_cast的使用有什么问题,为什么编译没有错误,运行时中断??求指导,谢谢!!
这是一条镜像帖。来源:北邮人论坛 / cpp / #82282同步于 2014/9/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
c++ dynamic_cast
NWolf
2014/9/12镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
用的什么ide啊,这是我跑的结果,没出错
【 在 NWolf 的大作中提到: 】
: class C
: {
: public:
: ...................
【 在 hellofuture 的大作中提到: 】
: 用的什么ide啊,这是我跑的结果,没出错
: [upload=1][/upload]
vc6.0,我知道怎么回事了,要设置允许运行时间类型信息(RTTI),你用的什么
【 在 NWolf 的大作中提到: 】
:
: vc6.0,我知道怎么回事了,要设置允许运行时间类型信息(RTTI),你用的什么
请立即卸载vc6,这种东西早都淘汰了
VS2010,vc++确实老了点
【 在 NWolf 的大作中提到: 】
:
: vc6.0,我知道怎么回事了,要设置允许运行时间类型信息(RTTI),你用的什么
dynamic_cast倒是没问题。但是,main函数应该返回int值,却没有return语句。一个该返回非null值的函数执行到了结尾没有return语句,是“未定行为”,也就是从什么也不发生到机器冒烟都是可能的。