Updated T.68 example

This commit is contained in:
Herb Sutter
2021-01-21 11:46:01 -08:00
parent 520ac9c695
commit 3c1991b87b

View File

@@ -18058,16 +18058,16 @@ When `concept`s become widely available such alternatives can be distinguished d
##### Reason ##### Reason
`()` is vulnerable to grammar ambiguities. `()` is vulnerable to grammar ambiguities.
##### Example ##### Example
template<typename T, typename U> template<typename T, typename U>
void f(T t, U u) void f(T t, U u)
{ {
T v1(x); // is v1 a function or a variable? T v1(T(u)); // mistake: oops, v1 is a function not a variable
T v2 {x}; // variable T v2{u}; // clear: obviously a variable
auto x = T(u); // construction or cast? auto x = T(u); // unclear: construction or cast?
} }
f(1, "asdf"); // bad: cast from const char* to int f(1, "asdf"); // bad: cast from const char* to int