when I try to access p such as with -

MyClass *m;

then try to access the member using -

m->p

I get the error pointer to incomplete class type is not allowed. I also tried to add a getPImpl() function that returns p to Myclass, and that won't return p for some reason. Why?