我正试图创建一个网格网络并发送消息。我的节点如下。
simple Node
{
parameters:
@display("i=misc/node");
gates:
inout up;
inout left;
inout down;
inout right;
}
我发送的msg如下
if(this->gate("right$o")->isConnected())
{
send(msg,"right$o",k);
}
它没有给出任何构建错误 但在模拟中给出了一个错误。我到底做错了什么?错误如下。
send()/sendDelayed(): Scalar gate 'right$o' referenced with index -- in module (Node) GridNetwork.sensor[0] (id=2), at t=0s, event #1
你的例子 Node
拥有 inout right
栅门,它是一个标量 inout
门而不是矢量。这意味着只有一个,它有两个门。right$i
和 right$o
,正如你在例子中试图使用的那样。
因此,你必须将 inout right
与 inout right[]
以及创建从它到另一个门的连接。参见 关于门的OMNeT++文档.