Compiler Warning (level 2) C4285

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

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

The following sample generates C4285:

// C4285.cpp
// compile with: /W2
class C
{
public:
    C operator->();   // C4285
   // C& operator->();  C4285, also
};

int main()
{
}