Может ли параметр шаблона шаблона вызвать затенение?

Это законный C ++?

template <typename T, template <typename T> class>
struct S { };

Clang (3.7.1) отвергает его, жалуясь на второе T тени первые T, GCC, кажется, не заботится об этом, и я думаю, что это разумно. Я думаю, что это только количество параметров, которые имеют значение в параметре шаблона шаблона.

7

Решение

Нет. [Temp.local] / 6:

Шаблон-параметр не подлежит повторному объявлению
(включая вложенные области видимости).

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]