看上去好像是对机器人进行状态设置。第一句,是将机器人动作状态设置为 1,第二句是清除机器人动作执行错误,以便后续动作执行过程中,可以检测到动作错误。
这种代码的书写方法,本质上就是需要访问机器人的这几个状态值,而这几个状态值,存在于 CDEyesRobotDlg 对话框类实例里,由于当前代码范围里,没有直接的 CDEyesRobotDlg 实例存在,但通过 AfxGetMainWnd() 函数可以获取到表征着 CDEyesRobotDlg 实例的指针。那么,根据类型强制转换原理,只要把获取到的实例指针,强硬地告诉编译器,这个就是 CDEyesRobotDlg 的实例指针,编译器就只好按照这样的要求,来理解返回的指针了。于是,对后续那几个状态值的操作,编译器就会认可。
嗯,当然,如果这种强硬的指示编译器去理解的做法中,实际上传回的确实不是 CDEyesRobotDlg 实例指针的话,编译器也是不管的,由此,通常你会得到一个异常消息,程序中断。