Initialization Expressions

An initialization expression must evaluate at compile time to a constant. It is used to specify an initial value for an entity.

In an initialization expression, each operation is intrinsic and each operand is one of the following:

Each subscript, section subscript, and substring starting and ending point must be an initialization expression.

In an initialization expression, the exponential operator (**) must have a power of type integer.

If an initialization expression invokes an inquiry function for a type parameter or an array bound of an object, the type parameter or array bound must be specified in a prior specification statement (or to the left of the inquiry function in the same statement).

Examples

Valid Initialization (Constant) Expressions

-1 + 3

SIZE(B)

! B is a named constant

7_2

INT(J, 4)

! J is a named constant

SELECTED_INT_KIND (2)

Invalid Initialization (Constant) Expressions

SUM(A)

Not an allowed function.

A/4.1 - K**1.2

Exponential does not have integer power (A and K are named constants).

HUGE(4.0)

Argument is not an integer.

See Also