错误:没有匹配函数来调用'check_and_cast(cModule *&)'
我正在尝试使用另一个模块“mobility”的当前位置和n类MassMobility。
cModule* parentmod = getParentModule();
cModule* mobilitymod = parentmod->getParentModule()->getSubmodule("mobility");
EV<<"Current module is "<<mobilitymod->getFullName() <<endl;
MassMobility* mobility = check_and_cast<MassMobility *>(mobilitymod);
mobility->getCurrentPosition();
我收到编译时错误: - no matching function for call to ‘check_and_cast(cModule*&)’
。但是我仍然可以从移动对象中获取函数,如最后一行所示。任何人都可以建议我如何纠正它。
答案 0 :(得分:1)
好吧我弄清楚了问题。首先,我需要在当前子模块中添加移动模块的头文件以获取定义。所以我包括 -
9010
然后在代码中我做了以下修改: -
#include "MassMobility.h"
#include "StationaryMobility.h"
因此,错误的原因是缺少定义,这是由此解决方案中的头文件提供的。