Advertencia del compilador (nivel 2) C4285

el tipo de valor devuelto de "identifier::operator ->" es recursivo si se aplica utilizando una notación de infijo

La función operator->() especificada no puede devolver el tipo para el que se define o una referencia al tipo para el que se define.

En el ejemplo siguiente se genera la advertencia C4285:

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

int main()
{
}