私はOmnet ++を使用しており、C++コードを記述しています。私のモジュールのの.ccファイル内、C++は変数が関数だと考えます。
channel Link extends ned.DatarateChannel
{
datarate = 16Gbps; // 32 lines of 2ns clock
delay = 0us;
}
、私は次の関数を書いています:
void InPortAsync::getErrorTimeout(int sx, int sy, int rx, int ry, int dx, int dy, int &routerType, simtime_t &timeout)
{ // find the flight time for packet from this node to the next joint node = TTL in queue
int dir0 =-1;
int dir1 =-1;
int temprx = -1;
int tempry = -1;
int outPort = -1;
int destRouterType, destTimeout;
Link* temp_Channel;
...
}
私がリンクオブジェクトへのポインタを宣言しています明らかである私は、次の私のNEDファイル内の宣言を持っていますtemp_Channelという名前です。しかし、コンパイラは、次のエラーを返します。 「temp_Channelは」なぜGCCは私の宣言を理解していない、この範囲で
を宣言していませんでしたか?
ありがとうございます!
「リンク」に適切なヘッダーを含めるのを忘れましたか?エラーはあなたが私たちに見せているラインから来たものであり、他のものではないと確信していますか? – nwp
本当にC++ですか? – SergeyA
私はOmnetを使ったことはありませんが、Linkの定義を含む.hファイルを生成するためにはnedファイルを使用する必要があります。そのようなファイルは存在しますか?あなたはそれを含めましたか?しかし、GCCが 'Link'ではなく' temp_Channel'でチョークするのはまだ不思議です。 –