ho fatto una domanda qui: Lifetime Extension of a initializer_list return che coinvolge il codice non funzionale:Che cos'è un elenco racchiuso tra parentesi graffe se non un elenco intializer?
const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c}; };
ho creduto lambda stava cercando di restituire un intializer_list
(che è male, non farlo.) Ma ho ottenuto un comment:
It's not an
initializer_list
, it's an initializer list. Two different things.
ho solo pensato che ogni volta che ha fatto un elenco parentesi graffe si intende creare un intializer_list
. Se questo non è ciò che sta accadendo, che cos'è un elenco di parentesi graffe?
È solo: errore: restituire l'elenco di inizializzazione. –
@ DieterLücking Devi avere i tuoi errori alzati più in alto di me. Non ho nemmeno ricevuto un avvertimento la prima volta che ho provato questo, anche se come indicato nella domanda collegata questo non è * buon codice. –
@ JonathanMee Sotto SO domanda ha anche alcune risposte utili per sapere: http://stackoverflow.com/questions/29200036/is-providing-a-private-constructor-for-initializer-list-conforming – Arunmu