0

我正在着手对 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 语言。

4

1 回答 1

0

请不要使用该print()功能。使用该op_prg_odb_print_major()功能。

Objid是 Modeler 中的一种特殊数据类型。您无法将其打印到屏幕上。

于 2017-11-02T01:06:17.843 回答