A constant expression is an expression that evaluates to an integral constant and which involves any of the following:

- literals,
- enumerators,
- constants returned by the sizeof operator,
- constant integral values that are initialized with constant expressions and
- numeric constants cast to integral type.