在Omnet ++中,c ++认为变量是一个函数

时间:2017-01-31 16:56:09

标签: c++ omnet++

我正在使用Omnet ++并编写C ++代码。我的ned文件中有以下声明:

channel Link extends ned.DatarateChannel
{
    datarate = 16Gbps; // 32 lines of 2ns clock
    delay = 0us;
}

在我的模块的.cc文件中,我正在编写以下函数:

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;
    ...
}

很明显,我正在声明一个指向名为temp_Channel的Link对象的指针。但是,编译器返回以下错误: 的' temp_Channel'未在此范围内声明

为什么海湾合作委员会不了解我的声明?

提前致谢!

1 个答案:

答案 0 :(得分:4)

在NED文件中声明Link通道与C ++代码无关。它不会生成您可以包含在代码中的任何头文件或C ++类。实际上,NED文件仅在运行时处理,而不是在编译时处理。