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.