首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在first.cc中添加更多的ns3节点?

如何在first.cc中添加更多的ns3节点?
EN

Stack Overflow用户
提问于 2022-04-02 04:53:14
回答 1查看 93关注 0票数 0

我刚刚了解了first.cc,我想将first.cc中的节点数量从2更改为3或4 5,但是只更改nodes.Create(2) ==> nodes.Create(3)会导致以下错误

断言file=../src/point-to-point/helper/point-to-point-helper.cc,failed.cond="c.GetN () ==2“,+0.000000s-1==2 line=224终止调用,没有活动异常

所以我得在他们之间加点联系否则呢?如有任何帮助或建议,将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-02 05:50:15

首先,我希望鼓励您使用gdb (或lldb)来调试程序。如果这样做,就会发现是first.cc中的这一行导致了错误:

代码语言:javascript
复制
devices = pointToPoint.Install (nodes);

为什么会发生这种事?如果我们去被调用的函数的定义,我们会发现:

代码语言:javascript
复制
NetDeviceContainer 
PointToPointHelper::Install (NodeContainer c)
{
    NS_ASSERT (c.GetN () == 2);              // line 224
    return Install (c.Get (0), c.Get (1));
}

查看这段代码,很明显PointToPointHelper::Install( NodeContainer )强加了一个约束,即NodeContainer只能包含两个节点。这说明了您遇到的错误是如何发生的。

但是为什么呢?

这是一个(很好的)设计选择。PointToPointChannel只能安装在两个PointToPointNetDevices之间,而不是更多,而不是更少。因此,该实现施加了一个约束,即NodeContainer只能包含两个节点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71714972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档