高手帮忙!!!!帮我看看这个类型转换的异常,昨天下午就在弄,还是没搞定

herakless 2003-09-14 08:56:12
public: Queue* q;
构造函数 : q = new Queue;
函数1:
Double data;
q->Enqueue(__box(data));
函数2:
IEnumerator* enumerator = DataQueue->GetEnumerator();
while(enumerator->MoveNext())
Double d = *dynamic_cast<__box Double*>(enumerator->Current);
编译正确,但运行时总会出现 InvalidCastException,不知为什么?改为用static_cast也不行,也出现同样的异常提示。
说说为什么。
...全文
24 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
herakless 2003-09-14
  • 打赏
  • 举报
回复
多谢思归,问题已经解决。是我不小心 Enque()时用了字节型的,原来没发现,调试时看了enumerator->current的watch才知道。
多谢你这篇文章,难得的好文,建议vc6->vc.net的朋友看一下。
saucer 2003-09-14
  • 打赏
  • 举报
回复
also see

http://msdn.microsoft.com/msdnmag/issues/02/02/ManagedC/default.aspx
saucer 2003-09-14
  • 打赏
  • 举报
回复
try

Double d = *dynamic_cast<System::Double*>(enumerator->Current);

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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