Поделиться через


Предупреждение C26478

Не используйте std::move для постоянных переменных. (es.56)

Замечания

Это предупреждение означает, что использование std::move не соответствует std::move способу использования.

Поскольку const объекты не могут быть перемещены, вызов std::move их не влияет. Этот шаблон может привести к непреднамеренных копиям.

Имя анализа кода: NO_MOVE_OP_ON_CONST

Пример

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

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

Чтобы устранить проблему, удалите избыточный std::moveобъект.

См. также

ES.56 — запись std::move() только в том случае, если необходимо явно переместить объект в другую область.