我在c ++文件中声明了一个函数,如文档中所述,并在.ned文件中调用它。但它会出现以下错误。
error:expected constructor, destructor, or type conversion before ‘(’ token Define_Function(dijkstra, 1);
以下是我的c ++文件。
#include <omnetpp.h>
#include "stdio.h"
#include "Node.h"
#include "cdelaychannel.h"
Define_Function(dijkstra, 1);
double dijkstra(double start = 1){
....
....
}
在我的网络描述文件中,我调用了该函数。
package myproject;
@license(LGPL);
dijkstra(1.0);
为什么它会给我错误?
答案 0 :(得分:2)
如果要创建在NED文件中使用它的功能,则必须按照OMNeT++ Manual中的说明进行操作。一个例子如下:
static cNEDValue ned_foo(cComponent *context, cNEDValue argv[], int argc)
int a = (long) argv[0];
int b = (long) argv[1];
return a*b;
}
Define_NED_Function(ned_foo,"int ned_foo(int a, int b)");