How to initialize a vector of reference_wrapper member variable in a class. I have tried to initialize with a vector in constructor initialisation_list.
class Test
{
public:
Test(std::vector<int> vec) :vec_r(begin(vec), end(vec)) // not working
{
}
std::vector<std::reference_wrapper<int>> vec_r; //member variable
};
int main()
{
std::vector<int> v{ 1,2,3 };
Test testObj(v);
std::cout << testObj.vec_r[0].get() <<'\n'; // prints unintialised value
std::cout << testObj.vec_r[1].get() <<'\n'; // prints unintialised value
std::cout << testObj.vec_r[2].get() <<'\n'; // prints unintialised value
return 0;
}
Is there any other way to initialize a 'reference_wrapper' vector in a class?