TAO中 “>>=“预算符 的含义

fp2001 2009-01-10 05:08:29
TAO中的">>="运算符的含义是什么?好象不是右移吧?

我在程序中定义了

navigatingEvent* navigating;
//其结构如下:
struct navigatingEvent
{
typedef navigatingEvent_var _var_type;
typedef navigatingEvent_out _out_type;


::CORBA::Double ifheading;
::CORBA::Double ifvertiangle;
::CORBA::Double ifhoriangle;
::CORBA::Double ibheading;
::CORBA::Double ibvertiangle;
::CORBA::Double ibhoriangle;
::CORBA::Double relativespeed;
::CORBA::Double absolutespeed;
::CORBA::Double northspeed;
::CORBA::Double eastspeed;
::CORBA::Double longitude;
::CORBA::Double latitude;
::CORBA::Double anglespeedx;
::CORBA::Double anglespeedy;
::CORBA::Double anglespeedz;
::CORBA::Double hacceleration;
::CORBA::Double vertipitchangle;
::CORBA::Double horipitchangle;
::CORBA::Double ifupdowndist;
::CORBA::Double ifupdownspeed;
::CORBA::Double ibupdowndist;
::CORBA::Double ibupdownspeed;
::CORBA::Double depth;
::CORBA::Double distance;
::CORBA::ULong status;
};
//同时有一个定义
const CORBA::Any &event

if(event >>= navigating)//报错

/*
navigatingEventConsumer.cpp:33: error: no match for 'operator>>=' in 'event >>= navigating'
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:137: note: candidates are: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_boolean) const
*/

但是如果我把
if(event >>= navigating)
改为
if(event >>= navigating->ifheading)//随便应用一个成员
却可以通过。
我只想if(event >>= navigating)这么操作,不知道如何更改?
...全文
114 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fp2001 2009-01-10
  • 打赏
  • 举报
回复
还是有点不太懂啊....
楼上的能不能在细点?偶是新人,谢谢哈~~~
baihacker 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fp2001 的回复:]
后面还有很多类似这样干的错误我没有贴出来

CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_octet) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:139: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_char) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:140: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_wchar) const
d:/AC…
[/Quote]
晕,自己根据所要的进行重载就行了.
baihacker 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fp2001 的回复:]
后面还有很多类似这样干的错误我没有贴出来

CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_octet) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:139: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_char) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:140: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_wchar) const
d:/AC…
[/Quote]
自己提供对应的类型转换操作.
fp2001 2009-01-10
  • 打赏
  • 举报
回复
后面还有很多类似这样干的错误我没有贴出来

CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_octet) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:139: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_char) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:140: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_wchar) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:141: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_string) const
d:/ACE_wrappers/TAO/tao/AnyTypeCode/Any.h:142: note: CORBA::Boolean CORBA::Any::operator>>=(ACE_InputCDR::to_wstring) const

改成event >>= (int)navigating; 也不行啊,结构体变量这么可以转换成int类型呢?
fp2001 2009-01-10
  • 打赏
  • 举报
回复
楼上的可否说的清楚点啊?给个方法啊
baihacker 2009-01-10
  • 打赏
  • 举报
回复
event >>= (int)navigating;

好像event >>= navigating->ifheading右边是double,照理说也应该不能通过...不知道你这里的Double是不是double
baihacker 2009-01-10
  • 打赏
  • 举报
回复
注意数据类型!!!
内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。

24,851

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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