|
1923 | 1923 | are determined as follows:
|
1924 | 1924 | \begin{itemize}
|
1925 | 1925 | \item
|
1926 |
| -for a non-discarded \tcode{return} statement that occurs |
| 1926 | +For a non-discarded \tcode{return} statement that occurs |
1927 | 1927 | in a function declared with a return type
|
1928 | 1928 | that contains a placeholder type,
|
1929 | 1929 | \tcode{T} is the declared return type
|
1930 | 1930 | and $E$ is the operand of the \tcode{return} statement.
|
1931 | 1931 | If the \tcode{return} statement
|
1932 | 1932 | has no operand,
|
1933 |
| -then $E$ is \tcode{void()}; |
| 1933 | +then $E$ is \tcode{void()}. |
1934 | 1934 | \item
|
1935 |
| -for a variable declared with a type |
| 1935 | +For a variable declared with a type |
1936 | 1936 | that contains a placeholder type,
|
1937 |
| -\tcode{T} is the declared type of the variable |
1938 |
| -and $E$ is the initializer. |
| 1937 | +\tcode{T} is the declared type of the variable. |
| 1938 | +If the initializer of the variable is a \grammarterm{brace-or-equal-initializer} |
| 1939 | +of the form \tcode{= \grammarterm{initializer-clause}}, |
| 1940 | +$E$ is the \grammarterm{initializer-clause}. |
1939 | 1941 | If the initialization is direct-list-initialization,
|
1940 | 1942 | the initializer shall be a \grammarterm{braced-init-list}
|
1941 | 1943 | containing only a single \grammarterm{assignment-expression}
|
1942 |
| -and $E$ is the \grammarterm{assignment-expression}; |
| 1944 | +and $E$ is the \grammarterm{assignment-expression}. |
| 1945 | +Otherwise, $E$ is the initializer. |
1943 | 1946 | \item
|
1944 |
| -for a non-type template parameter declared with a type |
| 1947 | +For a non-type template parameter declared with a type |
1945 | 1948 | that contains a placeholder type,
|
1946 | 1949 | \tcode{T} is the declared type of the non-type template parameter
|
1947 | 1950 | and $E$ is the corresponding template argument.
|
|
0 commit comments