We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

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
    C operator->();   // C4285
   // C& operator->();  C4285, also

int main()