On 14 June 2013 10:30, Luchezar Belev wrote: > Hi, > i'm not a c++/template guru and i can't decide if this is really a > valid code or i have encountered a gcc bug: > > ------------------------------ > template <class T> struct A { > void *p; > }; > template <class T> struct B : A<T> { > void *foo() { return p; } > }; > ------------------------------ > > g++ says "error: 'p' was not declared in this scope". > microsoft's compiler is happy with the same code. > > Can anyone help? http://gcc.gnu.org/wiki/VerboseDiagnostics#dependent_base