Integer constant expressions

An integer compile-time constant is a value that is determined during compilation and cannot be changed at run time. An integer compile-time constant expression is an expression that is composed of constants and evaluated to a constant.

An integer constant expression is an expression that is composed of only the following:

The sizeof operator applied to a variable length array type is evaluated at run time, and therefore is not a constant expression.

You must use an integer constant expression in the following situations:

Related information