Правильная форма без скобок
typename T::ABC
, потому что форма с круглыми скобками
(typename T::ABC)
является оператором приведения, а не типом!
Кроме того,ключевое слово typename
является обязательным, поскольку T:ABC
является «зависимым типом»: если вы не используете typename
, выражение T:ABC
интерпретируется так, как если бы ABC был членом класса T, а не вложенным типом).