I have the following template
template<class F>
struct A{
template<int N>
struct B{
using type = int;
};
};
I'd like to make a template alias, however:
//doesn't compile.
template<class F, int N >
using alias_A = typename A<F>::B<N>::type;
GCC:
question.cpp:12:36: error: expected ';' before '::' token
using alias_A = typename A<F>::B<N>::type;
^
question.cpp:12:36: error: 'type' in namespace '::' does not name a type
When debugging I find:
//does compile
struct C{};
using alias_B = typename A<C>::B<0>::type;
Can somebody point out what I'm doing wrong? I feel I'm missing something obvious.