|
7929 | 7929 | A \defnadj{constant}{expression} is either
|
7930 | 7930 | a glvalue core constant expression that refers to
|
7931 | 7931 | an entity that is a permitted result of a constant expression (as defined below), or
|
7932 |
| -a prvalue core constant expression whose value |
| 7932 | +a prvalue core constant expression whose result object\iref{basic.lval} |
7933 | 7933 | satisfies the following constraints:
|
7934 | 7934 | \begin{itemize}
|
7935 | 7935 | \item
|
7936 |
| - if the value is an object of class type, |
| 7936 | + if the result object is an object of class type, |
7937 | 7937 | each non-static data member of reference type refers to
|
7938 | 7938 | an entity that is a permitted result of a constant expression,
|
7939 | 7939 |
|
7940 | 7940 | \item
|
7941 |
| - if the value is an object of scalar type, |
| 7941 | + if the result object is an object of scalar type, |
7942 | 7942 | it does not have an indeterminate or erroneous value\iref{basic.indet},
|
7943 | 7943 |
|
7944 | 7944 | \item
|
7945 |
| - if the value is of pointer type, it contains |
| 7945 | + if the result object is of pointer type, it contains |
7946 | 7946 | the address of an object with static storage duration,
|
7947 | 7947 | the address past the end of such an object\iref{expr.add},
|
7948 | 7948 | the address of a non-immediate function,
|
7949 | 7949 | or a null pointer value,
|
7950 | 7950 |
|
7951 | 7951 | \item
|
7952 |
| - if the value is of pointer-to-member-function type, |
| 7952 | + if the result object is of pointer-to-member-function type, |
7953 | 7953 | it does not designate an immediate function, and
|
7954 | 7954 |
|
7955 | 7955 | \item
|
7956 |
| - if the value is an object of class or array type, |
7957 |
| - each subobject satisfies these constraints for the value. |
| 7956 | + if the result object is an object of class or array type, |
| 7957 | + each subobject satisfies these constraints for the result object. |
7958 | 7958 | \end{itemize}
|
7959 | 7959 | An entity is a
|
7960 | 7960 | \defnx{permitted result of a constant expression}{constant expression!permitted result of}
|
7961 | 7961 | if it is an
|
7962 | 7962 | object with static storage duration that either is not a temporary object or is
|
7963 |
| -a temporary object whose value satisfies the above constraints, or if |
| 7963 | +a temporary object that satisfies the above constraints, or if |
7964 | 7964 | it is a non-immediate function.
|
7965 | 7965 | \begin{note}
|
7966 | 7966 | A glvalue core constant expression
|
|
0 commit comments