IT跑跑库 2020-10-22 15:52 采纳率: 0%
浏览 47

NS3网络仿真,数组初始设置不正确。

使用NS3进行仿真的朋友们,我现在在运行一个NS代码协议的时候,出现如下错误,不知道该怎么改,请教请教大牛们。
图片说明

这是出问题的代码部分:

InetSocketAddress gatewayaddr4userNUSER;

InetSocketAddress useraddr4gatewayNUSER;

InetSocketAddress useraddrNUSER;

InetSocketAddress gatewayaddrNUSER;

我所使用的的库如下:

#include "ns3/ptr.h"
#include "ns3/packet.h"
#include "ns3/header.h"
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/applications-module.h"
#include "ns3/wifi-module.h"
#include "ns3/mobility-module.h"
#include "ns3/internet-module.h"
#include "ns3/config-store-module.h"
#include "ns3/stats-module.h"
#include "ns3/netanim-module.h"
#include "ns3/olsr-helper.h"
#include "ns3/ipv4-static-routing-helper.h"
#include "ns3/ipv4-list-routing-helper.h"
#include "math.h"

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 01:01
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这段代码中的错误主要出现在InetSocketAddress类的构造函数中。InetSocketAddress是一个用于表示IP地址和端口对的对象,它的构造函数接受一个字符串参数作为IP地址,并将其转换为InetSocketAddress对象。

    错误在于你尝试将一个整数数组(NUSER)赋值给NUSER变量。在C++中,NUSER是未定义的常量,这意味着它没有实际的含义。当你尝试用这个常量去引用或操作NUSER时,编译器会发出警告并提示错误。

    要解决这个问题,你需要确保NUSER是一个有效的常量。如果你是在使用某种动态分配内存的方式创建NUSER,那么你需要检查你的内存管理是否正确,或者你可能需要重新考虑如何初始化你的数组。

    例如,你可以通过以下方式来初始化数组:

    int NUSER = 10;
    std::vector<InetSocketAddress> useraddr(NUSER);
    std::vector<InetSocketAddress> gatewayaddr(NUSER);
    
    // ...其他代码...
    
    

    这将会创建一个大小为NUSERstd::vector,每个元素都是一个新的InetSocketAddress对象。

    希望这能帮助到你!如果还有任何疑问,请随时提问。

    评论

报告相同问题?

悬赏问题

  • ¥15 fluke高精度万用表8845A型号测交流电压一直跳动,且去掉输入后显示不归零
  • ¥15 不同模型怎么用同一个shader
  • ¥15 安卓启动没有ais proxy与v4l2的log打印
  • ¥15 go怎么读取mdb文件里面的数据
  • ¥60 Matlab联合CRUISE仿真编译dll文件报错
  • ¥15 脱敏项目合作,ner需求合作
  • ¥15 脱敏项目合作,ner需求合作
  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发