Существует обходной путь, который действительно уродлив, нет рекомендации делать это.
В CANoe вы можете определить собственные таблицы значений для системных переменных, которые на самом деле являются перечислениями, и нет ограничений на одинаковые имена членов.
И затем вы можете повторно использовать это перечисление в CAPL-коде:
variables{
enum VtSv_foo_myEnum1 var1;
enum VtSv_myEnum2 var2;
}
do_foo(){
var1 = (enum VtSv_foo_myEnum1) sysvar::foo::myEnum1::One;
var2 = (enum VtSv_myEnum2) sysvar::myEnum2::One;
}
Прежде чем начать использовать это, просто спросите себягде выгода?Поскольку код будет выглядеть очень запутанным.
А в справке по CANoe вы можете найти больше информации:
CAPL Введение »Основы» Типы перечисления