G++ refuses to compile simple, looking good code

Luchezar Belev lukcho@gmail.com
Fri Jun 14 09:31:00 GMT 2013


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?



More information about the Gcc-help mailing list