我正在使用opnet模拟网络协议。在进程块的进程模型中,我在FB中编写了这个函数。但在编译时,给我:
error: function 'inrpt_timer' must return a value;
但它正在回归'内向'。我糊涂了!还有一个问题:我不知道为什么我应该首先在函数定义中放置静态。我只是推了它,因为预定义的功能也有它。也许问题就在于此!这是代码:
static int intrpt_timer()
{
int intrpt;
FIN(intrpt_timer());
if((op_sim_time()-last_time)>=Ts) //check for interrupt
{
intrpt=1;//1 is true
last_time=op_sim_time(); //if timer passed update last time value
}
else
intrpt=0;//zero is false
return intrpt;
FOUT;
}
答案 0 :(得分:0)
当想要返回一个值时,(在opnet中)“FRET(value);”取代“返回值;”
答案 1 :(得分:0)
I don't know why I should put static at first of function definition.
声明为static
的函数意味着它只能从当前编译单元调用。
答案 2 :(得分:0)
如果您的代码中有FIN(...);
,则必须使用FOUT;
或FRET(...)
关闭该功能,具体取决于该功能是否应返回任何内容。
FOUT;
的{p> void func(...)
FRET(...);
的int/double/Boolean... func(...)