Following is a simple example.
template <typename TA>
class A {
};
template <class A>
class B {
A a;
A::TA ta;
};
int main(){
B<A<int> > b;
}
where, I have a template class A with a unknown type (TA) as template parameter. In class B, I want to define some variables using class A and its member type.
I got an error message during compilation, as follows.
error: need typename before ˜C1::T1˜ because ˜C1˜ is a dependent scope
I know I can do something like this,
template <class A, typename TA>
class B{
A a;
TA ta;
};
But it seems an ugly format.
Is the first case possible? Thanks.