Search code examples
c++c++11vectorreference-wrapper

Return value of non-initialized reference_wrapper


Where does reference_wrapper point to when I resize() the vector below? Is this an undefined behavior? What should I do for safety?

std::vector < std::reference_wrapper <int> > vec;
vec.resize(10);

Solution

  • Your code doesn't compile, because reference_wrapper doesn't have a default constructor.

    error: no matching function for call to ‘std::reference_wrapper<int>::reference_wrapper()’