'operator –>' recursion occurred through type 'type'
Your code contains an incorrect use of operator–>. Check your code to make sure operator–> does not call itself.
The following code shows the problem:
struct A;
struct B;
struct C;
struct A {
int z;
B& operator->();
};
struct B {
C& operator->();
};
struct C {
A& operator->();
};
void f(A p) {
int i = p->z; // warning C4281
}