コンパイラの警告 (レベル 3) C4281
クラス 'type' の 'operator ->' は再帰的な呼び出しです。
このコードは、operator-> で自分自身を呼び出せる状態になっています。
次の例では C4281 が生成されます。
// C4281.cpp
// compile with: /W3 /WX
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; // C4281
}