Я хочу получить тип первого элемента любых видов структурированных типов.[code]template < typename T> void Print() { std::cout void Funny( const T& t ) { using ELEMENT_TYPE = decltype( GetFirst(*(std::declval().begin())) ); Print< ELEMENT_TYPE> (); }
int main() { Funny( s1 ); Funny( s2 ); } < /code> , который приводит к: < /p> void Print() [with T = int] void Print() [with T = std::__cxx11::basic_string] [/code] Код работает, как и ожидалось.>