|
7764 | 7764 | A \defnadj{constant}{expression} is either |
7765 | 7765 | a glvalue core constant expression that refers to |
7766 | 7766 | an entity that is a permitted result of a constant expression (as defined below), or |
7767 | | -a prvalue core constant expression whose value |
| 7767 | +a prvalue core constant expression whose result object\iref{basic.lval} |
7768 | 7768 | satisfies the following constraints: |
7769 | 7769 | \begin{itemize} |
7770 | 7770 | \item |
7771 | | - if the value is an object of class type, |
| 7771 | + if the result object is an object of class type, |
7772 | 7772 | each non-static data member of reference type refers to |
7773 | 7773 | an entity that is a permitted result of a constant expression, |
7774 | 7774 |
|
7775 | 7775 | \item |
7776 | | - if the value is an object of scalar type, |
| 7776 | + if the result object is an object of scalar type, |
7777 | 7777 | it does not have an indeterminate value\iref{basic.indet}, |
7778 | 7778 |
|
7779 | 7779 | \item |
7780 | | - if the value is of pointer type, it contains |
| 7780 | + if the result object is of pointer type, it contains |
7781 | 7781 | the address of an object with static storage duration, |
7782 | 7782 | the address past the end of such an object\iref{expr.add}, |
7783 | 7783 | the address of a non-immediate function, |
7784 | 7784 | or a null pointer value, |
7785 | 7785 |
|
7786 | 7786 | \item |
7787 | | - if the value is of pointer-to-member-function type, |
| 7787 | + if the result object is of pointer-to-member-function type, |
7788 | 7788 | it does not designate an immediate function, and |
7789 | 7789 |
|
7790 | 7790 | \item |
7791 | | - if the value is an object of class or array type, |
7792 | | - each subobject satisfies these constraints for the value. |
| 7791 | + if the result object is an object of class or array type, |
| 7792 | + each subobject satisfies these constraints for the result object. |
7793 | 7793 | \end{itemize} |
7794 | 7794 | An entity is a |
7795 | 7795 | \defnx{permitted result of a constant expression}{constant expression!permitted result of} |
7796 | 7796 | if it is an |
7797 | 7797 | object with static storage duration that either is not a temporary object or is |
7798 | | -a temporary object whose value satisfies the above constraints, or if |
| 7798 | +a temporary object that satisfies the above constraints, or if |
7799 | 7799 | it is a non-immediate function. |
7800 | 7800 | \begin{note} |
7801 | 7801 | A glvalue core constant expression |
|
0 commit comments