I\'m having difficulty understanding why there is a difference in the following two pieces of code, what exactly is the compiler doing.
I have the following bit of t
In the second version, booboo is a dependent name, so it is not automatically visible in the template. You can either add using typename base<T>::booboo; to the derived class, or use your typedef solution, or say typename base<T>::booboo bb = T(1);.
booboo
using typename base<T>::booboo;
typename base<T>::booboo bb = T(1);