У меня есть вектор:Как правильно определить тип типа typename typename ...?
std::vector<std::weak_ptr<SignalFunction>> m_connections
А потом я хочу объявить вектор общих указателей к тому же типу, что этот вектор имеет место слабым указателем в общем виде:
std::vector<std::shared_ptr<typename typename decltype(m_connections)::value_type::element_type>> validConnections;
Он отлично компилируется в Visual Studio 2013, но не в Xcode для iOS. Ошибка:
expected a qualified name after 'typename'
Это, однако, работает отлично:
typedef decltype(m_connections)::value_type ValueType;
std::vector<std::shared_ptr<typename ValueType::element_type>> validConnections
Как я могу избежать использования промежуточного typedef
?