我开始了一些在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语言。
发布于 2017-11-02 09:06:18
请勿使用print()函数。使用op_prg_odb_print_major()函数。
Objid是Modeler中的一种特殊数据类型。你不能打印到屏幕上。
https://stackoverflow.com/questions/24615458
复制相似问题