If anyone here can tell me what's going wrong in this snippet, I'd be much
obliged. It works under g++ 3.3 but not the (fussier) g++ 3.4. Thanks...
template<typename T>
struct base
{
T m_x;
};
template<typename T>
struct derived : public base<T>
{
void bleh();
};
template<typename T>
void derived<T>::bleh()
{
T b = base<T>::m_x; // OK
T a = m_x; // error: `m_x' undeclared
}
int main()
{
derived<int> c;
c.bleh();
}