Я пытаюсь создать простое определение сообщения , которое содержит поле, реализованное с использованием std::vector
. Согласно инструкции OMNet ++ 5.5, гл. 6 сэ c. 8.1 , это на первый взгляд просто.
Однако я использую OMNet ++ 6.0pre6: я не могу понять, как это правильно сделать, поскольку руководство устарело 1 , и изменения очень поверхностно упоминаются в nedxml
changelog.
Определение сообщения можно свести к точному примеру в руководстве , но в в данном случае это message
, а не packet
(либо выдает ту же ошибку):
cplusplus {{
#include <vector>
typedef std::vector<int> IntVector;
}}
class noncobject IntVector;
message SimpleMsg {
int this_thing;
int that_thing;
IntVector these_things;
}
Следующие ошибки были предоставлены opp_msgtool
, транспортом сообщений на C ++:
SimpleMsg.msg:6: Error: Type declarations are not needed with imports, try invoking the message compiler in legacy (4.x) mode using the --msg4 option
SimpleMsg.msg:11: Error: unknown type 'IntVector' for field 'these_things' in 'SimpleMsg'
Мышление объявления типов не нужны при импорте может быть простой сводкой изменений от O MNet 5.x до 6.x, я приступил к удалению class noncobject IntVector
. Хотя он удаляет первую ошибку, он все равно дает Error: unknown type 'IntVector' for field 'these_things' in 'SimpleMsg'
.
Идеи? Предложения? Уроки, которые нужно иметь?
РЕДАКТИРОВАТЬ : В частности, обнаружено, что в журнале изменений nedxml
есть некоторые примечания, относящиеся к изменениям между 4.0-5.x и 6.0 , но как в идеале использовать это менее понятно.
1 Конечно, не совсем применимо к OMNet ++ 6.0, по крайней мере.