Это законный C ++?
template <typename T, template <typename T> class>
struct S { };
Clang (3.7.1) отвергает его, жалуясь на второе T
тени первые T
, GCC, кажется, не заботится об этом, и я думаю, что это разумно. Я думаю, что это только количество параметров, которые имеют значение в параметре шаблона шаблона.
Нет. [Temp.local] / 6:
Шаблон-параметр не подлежит повторному объявлению
(включая вложенные области видимости).
Других решений пока нет …