当前位置: 首页 > 知识库问答 >
问题:

OMNET中iNET框架中的重写错误

微生毅然
2023-03-14

我收到了错误“覆盖错误”,尽管所有库在工作区都可用。以下是包含上述错误的相关代码片段:

#include "inet/common/INETDefs.h"
namespace inet {
#if OMNETPP_VERSION >= 0x0405
class INET_API InetPacketBytesPrinter : public cMessagePrinter
{
protected:
mutable bool showEncapsulatedPackets;  
public:
InetPacketBytesPrinter() { showEncapsulatedPackets = true; }
virtual ~InetPacketBytesPrinter() {}
virtual int getScoreFor(cMessage *msg) const override;
virtual void printMessage(std::ostream& os, cMessage *msg) const override;
};

错误:'虚拟虚空inet::InetPacketBytesPrinter::printMessage(std::ostream

Register_MessagePrinter(InetPacketBytesPrinter);

错误:抽象类类型'inet::InetPacketBytesPrinter'的新表达式无效

static const char INFO_SEPAR[] = "  \t";
int InetPacketBytesPrinter::getScoreFor(cMessage *msg) const{
return msg->isPacket() ? 18 : 0;
}
void InetPacketBytesPrinter::printMessage(std::ostream& os, cMessage *msg) const
{
std::string outs;
showEncapsulatedPackets = true;
for (cPacket *pk = dynamic_cast<cPacket *>(msg); showEncapsulatedPackets && pk; pk = pk->getEncapsulatedPacket()) {    
    std::ostringstream out;
    out << pk->getClassName() << ":" << pk->getByteLength() << " bytes";
    if (outs.length())
        out << INFO_SEPAR << outs;
    outs = out.str();
}
os << outs;
}
#endif
}

控制台:12:46:31****增量构建项目ansainet的配置gcc版本****生成模式=发布所有cd src

12:46:35构建失败。6个错误,0个警告。(耗时3.328ms)

共有2个答案

孙凌龙
2023-03-14

根据这个留档cMessagePrinter::printMessage方法需要三个参数,但是你的版本只有两个,因此它不是覆盖。

将您的printMessage签名更改为与您正在覆盖的方法相同。

沈旻
2023-03-14

您尝试构建的INET版本太旧,无法使用OMNeT 5.6构建。您应该使用较旧的OMNeT版本(在INET版本的README文件中指示),或者使用较新版本INET(可能是最新的3.6. x版本?)

 类似资料:
  • 这个bug似乎是一个递归bug,公司要求工作表,而工作表又要求公司,这……你就明白了。我已经在互联网和堆栈溢出中搜索了这个问题,我发现了错误发生的原因,但解决方案始终是编写自己的解析器或使用flexjson或其他方法。我只是想知道是否有解决办法,这必须是因为游戏很受欢迎,人们肯定会在一次操作中获取帖子和评论,或者不是吗? 必须有一个解决方案,不需要替换掉json解析器或编写自己的解析器。 公司.j

  • iNet 是跨平台服务器开发组件,包括:网络库、消息队列、定时器、RPC、协程库。 地址:https://github.com/IronsDu/accumulation-dev 请参阅测试代码:examples。   特点:跨平台,效率非常高,安全,可复用,支持 ssl,http,websocket。 案例:https://github.com/IronsDu/DBProxy 一个使用此网络库开发

  • 这是django框架中的python代码。我已经成功安装了django,但我不知道为什么会出现错误。 事实上,我刚开始与django合作,所以请看一下故障。 这可能是因为它无法访问URL和contrib目录。请帮忙,谢谢 .

  • 问题内容: 我在TSQL中有以下查询 我在实体框架中有以下查询 当我尝试编译它时,我得到 错误3名称“ p”不在“等于”左侧的范围内。考虑在“等号”的任一侧交换表达式。 错误4名称“链接”不在“等于”右侧的范围内。考虑在“等号”的任一侧交换表达式。 问题答案: 错误究竟在说什么 应该 完整的代码

  • 我正在使用cucumber框架进行移动应用程序测试。在pom.xml中,我给出了下面这个插件来运行TestClass.java--它有上传应用程序最新apk版本的代码。Main方法存在于这个TestClass中。我需要在实际测试执行之前运行这个。如果我使用pom.xml-->mvn clean test运行,我会得到这个错误。ClassNotFoundExpection总是与pom.xml一起抛出

  • 本文向大家介绍在Django框架中编写Contact表单的教程,包括了在Django框架中编写Contact表单的教程的使用技巧和注意事项,需要的朋友参考一下 虽然我们一直使用书籍搜索的示例表单,并将起改进的很完美,但是这还是相当的简陋: 只包含一个字段,q。这简单的例子,我们不需要使用Django表单库来处理。 但是复杂一点的表单就需要多方面的处理,我们现在来一下一个较为复杂的例子: 站点联系表