template<typename T> struct A {}; template<typename T> using B = int; template<template<typename> class X> struct C; C<A> ca; // ok C<B> cb; // ok, not a class template template<template<typename> typename X> struct D; // error, cannot use typename here


http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html


이걸 어디에 써먹으려나