Я начинаю работу по ручному программированию узлов в 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.
Не используйте функцию print()
. Используйте op_prg_odb_print_major()
.
Objid
- это особый тип данных в Modeler. Вы не можете распечатать его на экране.
Objid
? Отлаживайте свою программу, пока у вас не будет минимального теста.