Inno setup 如何在Inno Setup中正确编写下一个逻辑表达式?

Inno setup 如何在Inno Setup中正确编写下一个逻辑表达式?,inno-setup,directive,preprocessor,Inno Setup,Directive,Preprocessor,以下是我需要使用预处理器指令编写的伪代码: (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” 你的代码看起来很合理。我本以为它也会

以下是我需要使用预处理器指令编写的伪代码:

(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”


你的代码看起来很合理。我本以为它也会起作用

无论如何,您的代码给人的印象是“0”应该是
VAR
的默认值。因此,这应该做到:

#ifndef VAR
#define VAR "0"
#endif

#if VAR == "0"
{a few lines of code}
#endif

如果我只写
#define VAR
,而不实际给它一个值,那么默认值是什么?形式上,它没有值,您不应该在表达式中使用这样的变量。