请大家帮忙看看这里的错误。谢谢!

ggzzkk 2001-07-17 10:19:00
class Y{
public:
virtual f(){}
};
class X:public Y{};
main(){
Y* y=new X;
X *x=dynamic_cast<X*>(y);
}
远行时出现的错误是:“Unhandled exception in 4.exe:0xE06D7363:Microsoft C++ Exception.”
好象是dynamic_cast引起的,这个错误是什么意思?该如何解决呢?
...全文
179 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonvc 2001-07-19
  • 打赏
  • 举报
回复
dynamic_cast<class*>: 指针类型强制转换关键字.
ylp9999 2001-07-18
  • 打赏
  • 举报
回复
class Y{
public:
virtual f(){}=0;
};
class X:public Y
void main(){
Y* y=new X;
X *x=static_cast<X*>(y);
}
bearc 2001-07-18
  • 打赏
  • 举报
回复
In VC IDE, tool bar->project->settings->C/C++ -> C++ Language -> Click Enable Run-Time Type Information(RTTI)


bearc 2001-07-18
  • 打赏
  • 举报
回复
In VC IDE, tool bar->project->setting->C/C++ -> C++ Language -> Click Enable Run
Time Type Information(RTTI)
ggzzkk 2001-07-17
  • 打赏
  • 举报
回复
eed112(紫琼),那请问该怎么写?
ccemail 2001-07-17
  • 打赏
  • 举报
回复
dynamic_cast 是什么?
eed112 2001-07-17
  • 打赏
  • 举报
回复

X *x=dynamic_cast<X*>(y);?????????
ggzzkk 2001-07-17
  • 打赏
  • 举报
回复
我是按《C++编程思想》中的例子写的,不会真是VC的问题吧???
tangtao 2001-07-17
  • 打赏
  • 举报
回复
这样写好像没什么错。

是vc这个编译器太烂!
Afina 2001-07-17
  • 打赏
  • 举报
回复
你的程序书写有错吧?
class Y{
public:
virtual f(){};
};
class X:public Y
void main(){
Y* y=new X;
X *x=dynamic_cast<X*>(y);
}
试一下吧,可能是书写错误。但是,由于我不懂X *x=dynamic_cast<X*>(y);这句。所以不敢打包票。你的这一句是想为x动态分配一个空间吧?那dynamic_cast是什么?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧