"this->" is needed to compile in gcc 4.8.1. Actually I think that it's mandatory in standard-compliant compilers because the resolution of impl_ depends on the template parameter (the base class may have specializations that have or not have the member) and "this" triggers the instantiation.