for (auto& i : v)
std::cout << *i.get() << ' ';
こんな感じでコンパイル通るけど?