Можно ли в Vector CANoe определить функцию, которая принимает аргумент системной переменной, например системную функцию TestWaitForSignalMatch()
?
Для моего варианта использования недостаточно указать текущее значение системной переменной, потому что я хочу передать системную переменную TestWaitForSignalMatch()
или аналогичным системным функциям.
Помощь CANoe, кажется, показывает примеры:
long TestWaitForSignalMatch (Signal aSignal, float aCompareValue, dword aTimeout); // form 1
long TestWaitForSignalMatch (sysvar aSysVar, float aCompareValue, dword aTimeout); // form 3
Я пробовал вот так
void foo(sysvar aSysvar) {}
^
или это
void foo(sysvar *aSysvar) {}
^
но я получаю ошибку синтаксического анализа в отмеченной позиции ключевого слова sysvar
в обоих случаях.
Я успешно создал функции, которые принимают аргумент сигнала, но, в отличие от синтаксиса в справке CANoe, я должен использовать указатель. Это работает:
void foo(signal *aSignal) {}
Очевидно, что документация в справке в этом отношении неверна. Это приводит к ошибке синтаксического анализа после ключевого слова signal
, когда я опускаю *
, как показано в справке:
void bar(signal aSignal) {}
^
Итак, каков правильный синтаксис для определения функции, которая принимает аргумент sysvar? (если возможно)
Если версия имеет значение, в настоящее время я тестирую CANoe 9.0.53 (SP1), 9.0.135 (SP7) или 10.0.125 (SP6).