Warnung C26478

Verwenden std::move Sie nicht für Konstantenvariablen. (es.56)

Hinweise

Diese Warnung besteht darin, darauf hinzuweisen, dass die Verwendung std::move nicht mit der Verwendung in Einklang steht std::move .

Da const Objekte nicht verschoben werden können, hat das Aufrufen std::move dieser Objekte keine Auswirkung. Dieses Muster kann zu unbeabsichtigten Kopien führen.

Codeanalysename: NO_MOVE_OP_ON_CONST

Beispiel

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

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

Um das Problem zu beheben, entfernen Sie die redundante std::move.

Siehe auch

ES.56 – Schreibgeschützt std::move() , wenn Sie ein Objekt explizit in einen anderen Bereich verschieben müssen