Compiler Warning (level 2) C4285

return type for 'identifier::operator –>' is recursive if applied using infix notation

The specified operator–>() function cannot return the same type, or a reference to the same type, for which it is defined.

The following example causes this warning:

class C
{
public:
    C operator->();   // warning
    C& operator->();  // warning
};