Можно ли явно создать экземпляр класса шаблона через псевдоним шаблона?
Если да, то как? В противном случае, может ли кто-нибудь указать на документ ISO, в котором это обсуждалось и принималось против?
template<class T>
struct A { };
/// Explicit instantiate A for int:
template struct A<int>;
/// Alias
template<class T>
using B = A<T>;
/// Explicitly instantiate A for double via alias B:
template struct B<double>;
/// error: elaborated type refers to a non-tag type
Должен ли этот экземпляр A<double>
, так как B<T>
является просто другим именем для A<T>
?