Compiler Error C2818

application of overloaded 'operator ->' is recursive through type 'type'

A redefinition of the class member access operator contains a recursive return statement. To redefine the -> operator with recursion, you must move the recursive routine to a separate function called from the operator override function.