Ссылка на временный объект в параметрах по умолчанию

Подскажите, пожалуйста, Почему здесь не образовывается висячей ссылки? Если я что-то то вывожу в деструкторе, то она печатается после выхода из функции.

template<typename T>
struct Wrapper
{
 Wrapper() :w() {}
 operator T&() const {return const_cast<T&>(w) ;}

private: 
  T m;
};

struct A
{
A() :p(new int(1)) {}
int* p;
}

void foo(A& a= Wrapper<A>()){...}

Ответы (0 шт):