As B is not a specific type anymore, you need to flag C with the template
keyword as it is depenend on the value of N. Using the follwing code should work:
template<unsigned N, unsigned... Is>
struct Loop3 {
typedef Sequence< typename B<N>::template C<Is>::type... > type;
};