次の方法で共有


警告 C26478

定数変数では使用 std::move しないでください。 (es.56)

解説

この警告は、使用方法 std::movestd::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()