| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1131 人关注过本帖
标题:固高机器人界面中一点点代码的疑惑,望大神解答
只看楼主 加入收藏
飞漩鸣人
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-9-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
固高机器人界面中一点点代码的疑惑,望大神解答
下面两句话什么意思啊,尤其是不懂这种用法,怎么去理解啊 ,谢谢大神解答了
((CDEyesRobotDlg*)AfxGetMainWnd())->m_Robot.motionstep=1;
((CDEyesRobotDlg*)AfxGetMainWnd())->m_bMotionErr=false;
搜索更多相关主题的帖子: false 机器人 
2015-04-04 19:30
天使梦魔
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:10 
AfxGetMainWnd被强制转换成CDEyesRobotDlg类,转换后对成员进行定义,由于转换的是指针而不是实例,所以只能用->符对地址进行操作。
该转换说明AfxGetMainWnd返回值也是一个类结构,而且具有CDEyesRobotDlg父继承属性。CDEyesRobotDlg必须大于或等于AfxGetMainWnd返回值的成员结构
2015-04-08 16:02
AleTiff
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:64
专家分:157
注 册:2015-3-30
收藏
得分:10 
看上去好像是对机器人进行状态设置。第一句,是将机器人动作状态设置为 1,第二句是清除机器人动作执行错误,以便后续动作执行过程中,可以检测到动作错误。

这种代码的书写方法,本质上就是需要访问机器人的这几个状态值,而这几个状态值,存在于 CDEyesRobotDlg 对话框类实例里,由于当前代码范围里,没有直接的 CDEyesRobotDlg 实例存在,但通过 AfxGetMainWnd() 函数可以获取到表征着 CDEyesRobotDlg 实例的指针。那么,根据类型强制转换原理,只要把获取到的实例指针,强硬地告诉编译器,这个就是 CDEyesRobotDlg 的实例指针,编译器就只好按照这样的要求,来理解返回的指针了。于是,对后续那几个状态值的操作,编译器就会认可。

嗯,当然,如果这种强硬的指示编译器去理解的做法中,实际上传回的确实不是 CDEyesRobotDlg 实例指针的话,编译器也是不管的,由此,通常你会得到一个异常消息,程序中断。
2015-04-10 11:40
快速回复:固高机器人界面中一点点代码的疑惑,望大神解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014256 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved