Что означает «typename =» в параметрах шаблона?

Я видел это выражение на странице 189 книги «Эффективный современный C ++»:

    template<typename T,
             typename = typename std::enable_if<condition>::type>
    explicit Person(T&& n);

Мне просто интересно, что значит "typename ="значит. Это, конечно, выглядит как аргумент по умолчанию для параметра шаблона. Но вам не нужно что-то подобное"typename some_name = ..."в аргументе по умолчанию? Для второго аргумента шаблона нет имени, и я не вижу, чтобы в этом случае использовался второй аргумент шаблона.

Постскриптум Когда я ищу в Google (или любой другой поисковой системе) ответ, знак равенства всегда отбрасывается, и это делает поиск ответа практически невозможным ...

Ответы на вопрос(1)

Ваш ответ на вопрос