Most vexing parse
Syntactic ambiguity in C++
The most vexing parse is a counterintuitive ambiguity resolution in C++. In certain situations, the C++ grammar cannot distinguish between initializing an object parameter, declaring an object or declaring a function while specifying the function's return type.
Nº Q6916825 ★
Comum · História
Most vexing parse
Syntactic ambiguity in C++
The most vexing parse is a counterintuitive ambiguity resolution in C++. In certain situations, the C++ grammar cannot distinguish between initializing an object parameter, declaring an object or declaring a function while specifying the function's return type.
Último preço
—
Preço mínimo
—
Mediana 7 d
—
Vendas 30 d
0
Faixa 30 d
—
Em circulação
0
Cotação
mediana
mín – máx
vendas
Sem vendas no período
Ver tabela
| Data | mediana | Mín | Máx | vendas |
|---|
Histórico de vendas
- Última venda
- —
- Média 30 d
- —
- Mínima 30 d
- —
- Máxima 30 d
- —
- Vendas 7 d
- 0
- Vendas 30 d
- 0
Ainda sem vendas.
Vendas anônimas: sem comprador nem vendedor. Os números contam só vendas entre jogadores.
Na Wikipédia
Texto em inglês Ainda não há artigo no seu idioma: trecho em inglês.
The most vexing parse is a counterintuitive ambiguity resolution in C++. In certain situations, the C++ grammar cannot distinguish between initializing an object parameter, declaring an object or declaring a function while specifying the function's return type. In these situations, the compiler is required to interpret the statement as the latter, even though this is rarely the programmer's intention. The problem originates from backward compatibility constraints imposed by the need for C++ to be a superset of C. C has no concept of object creation, and thus will always parse the code as a function declaration. C++ introduced syntax for object creation that inadvertently coincides with function type declaration in some cases. The term was first used by Scott Meyers in his 2001 book Effective STL. It was a common problem for C++ versions prior to C++11, which introduced an alternative syntax called uniform initialization that uses braces {} instead of parentheses (), avoiding the syntactic ambiguity.
Texto: Wikipédia em inglês, CC BY-SA 4.0. ·