Si tenta di passare per valore o copiare un oggetto che ha dichiarato il costruttore di copia come eliminato ('= delete') o che contiene membri esclusivi non copiabili come 'std::unique_ptr' o 'std::mutex'.
DELETED_FUNCTION_CALL
→
L'attributo standard C++17 '[[nodiscard]]' impone che il chiamante non ignori il valore o codice di errore restituito dalla funzione; ignorare l'output genera un avviso severo di compilazione.
NODISCARD_WARNING
→
Tentativo di istanziare una variabile di una classe o struct della quale è presente solo una dichiarazione anticipata (forward declaration) senza la definizione completa dei campi e del costruttore.
INIT_INCOMPLETE_TYPE
→
Una funzione con tipo di ritorno dedotto ('auto func()') contiene rami di 'return' multipli che restituiscono tipi incompatibili senza conversione comune (es. 'return 0;' e 'return 3.14;').
AUTO_RETURN_DEDUCTION_FAILED
→
La sintassi di structured binding 'auto [a, b] = obj;' richiede che tutti i membri non-statici della classe siano accessibili e pubblici, oppure che la classe implementi la specializzazione di 'std::tuple_size', 'std::tuple_element' e 'get<N>()'.
STRUCTURED_BINDING_CANNOT_DECOMPOSE
→
In C++11 e C++14 la clausola '[=]' catturava implicitamente il puntatore 'this' per riferimento, inducendo programmatori a credere di aver catturato l'oggetto per valore; C++20 ne impone l'esplicitazione con '[=, this]' (riferimento) o '[=, *this]' (copia del valore).
LAMBDA_CAPTURE_THIS_DEPRECATED
→
L'operatore di confronto a tre vie 'operator<=> = default' non può essere sintetizzato automaticamente se uno dei membri della classe non sovraccarica a sua volta l'operatore spaceship o non è confrontabile.
SPACESHIP_OPERATOR_NO_DEFAULT
→