Partager via


Avertissement C26478

N’utilisez std::move pas de variables constantes. (es.56)

Notes

Cet avertissement indique que l’utilisation n’est std::move pas cohérente avec la façon dont std::move elle est destinée à être utilisée.

Étant donné que const les objets ne peuvent pas être déplacés, l’appel std::move à eux n’a aucun effet. Ce modèle peut entraîner des copies involontaires.

Nom de l’analyse du code : NO_MOVE_OP_ON_CONST

Exemple

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

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

Pour résoudre le problème, supprimez le redondant std::move.

Voir aussi

ES.56 - Écrire std::move() uniquement lorsque vous devez déplacer explicitement un objet vers une autre étendue