分享方式:


警告 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()