次の方法で共有


警告 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() を書き込む