Condividi tramite


Avviso C26478

Non usare std::move nelle variabili costanti. (es.56)

Osservazioni:

Questo avviso indica che l'uso di std::move non è coerente con la modalità std::move di utilizzo.

Poiché const gli oggetti non possono essere spostati, la chiamata std::move a tali oggetti non ha alcun effetto. Questo modello può comportare copie impreviste.

Nome dell'analisi del codice: NO_MOVE_OP_ON_CONST

Esempio

struct node
{
    node* next;
    int id;
};

void foo(const node& n)
{
    const node local = std::move(n); // C26478 reported here
    // ...
}

Per risolvere il problema, rimuovere l'oggetto ridondante std::move.

Vedi anche

ES.56 - Scrivere std::move() solo quando è necessario spostare in modo esplicito un oggetto in un altro ambito