Most vexing parse: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (9), </source> → </syntaxhighlight> (9) |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(2 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1:
Il '''most vexing parse''' è una forma di soluzione di [[grammatica ambigua|ambiguità sintattica]] del [[C++]], definita nella sezione 8.2 dello standard
|cognome= Meyers
|wkautore= Scott Meyers
|anno= 2001
|titolo= Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
|url= https://archive.org/details/effectivestl50sp0000meye
|editore= Addison-Wesley
| isbn = 0-201-74962-9
Riga 82 ⟶ 83:
</syntaxhighlight>
Per [[Disambiguazione|disambiguare]] l'espressione affinché venga interpretata come dichiarazione di variabile, si può usare la stessa tecnica dell'esempio precedente, oppure si può sostituire il cast funzionale con un cast in stile C
<syntaxhighlight lang="cpp">
Riga 98 ⟶ 99:
== Uniform initialization syntax ==
Lo standard [[C++11]] ha introdotto la ''uniform initialization syntax'' (sintassi di inizializzazione uniforme), che uniforma la sintassi per l'inizializzazione di oggetti o variabili con quella per gli [[array]] e permette di evitare ogni ambiguità con la dichiarazione di funzioni. La riga problematica del primo esempio può essere riscritta come:
<syntaxhighlight lang="cpp">
|