我开始在OPNET中对节点进行手动编程,但是我遇到了一些麻烦。我从数据包中获取一些信息并将它们存储在变量中,并希望将其输出到模拟控制台。当我添加行puts(bcast_info)时,我收到以下错误。
C:/Users/Andrew/op_models/traffic_source.pr.c(74) : warning C4047:
'function' : 'const char *' differs in levels of indirection from
'Objid' C:/Users/Andrew/op_models/traffic_source.pr.c(74) : warning
C4024: 'puts' : different types for formal and actual parameter 1
在添加上述行之前,模拟工作完美,我得到了基本的文本输出。到目前为止,这是我的代码。
static void route_pk(void)
{
Packet * pkptr;
Objid bcast_info;
FIN(route_pk());
pkptr = op_pk_get(op_intrpt_strm ());
bcast_info = op_pk_bcast_get (pkptr);
printf ("Hello! \n");
puts("Hello from puts");
puts(bcast_info);
op_pk_send (pkptr, 1);
FOUT;
}
我很欣赏OPNET是C语言的一种变体,它有一些自己的方法等,但对错误的实际意义和潜在修复的任何帮助都将非常感激。请注意,之前我从未使用过C / C ++或OPNET语言。
答案 0 :(得分:0)
请不要使用print()
功能。使用op_prg_odb_print_major()
功能。
Objid
是Modeler中的特殊数据类型。您无法将其打印到屏幕上。