Не удается связать lvalue со ссылкой на rvalue

У меня есть этот фрагмент кода теста C ++,

#include <vector>

class A {
        std::vector<int> x;
public:
        A(std::vector<int>&& _x) : x(_x) {}
};

class B {
        A a;
public:
        B(std::vector<int>&& _x) : a(/*move(*/_x/*)*/) {}
};

Я прохожу_x в B в качестве ссылки rvalue, но он передается в lvalue при передаче вAконструктор и я должен использоватьstd::move() заставить это работать. Мой вопрос: почему _x является lvalue, а не ссылкой на rvalue вa()?

Ответы на вопрос(2)

Ваш ответ на вопрос