我正在使用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'未在此范围内声明
为什么海湾合作委员会不了解我的声明?
提前致谢!
答案 0 :(得分:4)
在NED文件中声明Link
通道与C ++代码无关。它不会生成您可以包含在代码中的任何头文件或C ++类。实际上,NED文件仅在运行时处理,而不是在编译时处理。