Как правильно написать следующее логическое выражение в Inno Setup? - PullRequest
3 голосов
/ 30 марта 2020

Вот псевдокод для того, что мне нужно написать, используя директивы препроцессора:

(IF VAR == NOT DEFINED) OR (VAR == DEFINED AND VAR == 0) THEN
{a few lines of code}

Как мне записать это логическое выражение в одну строку?

Я попробовал это:

#if (defined(VAR) == 0) || ((defined(VAR) == 1) && (VAR == "0"))

но это не сработало. Там написано:

Необъявленный идентификатор: "VAR".

1 Ответ

1 голос
/ 30 марта 2020

Ваш код кажется разумным. Я ожидал бы, что это тоже сработает.

В любом случае, ваш код создает впечатление, что «0» должно быть значением по умолчанию VAR. Так что это должно сделать:

#ifndef VAR
#define VAR "0"
#endif

#if VAR == "0"
{a few lines of code}
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...