The code what I have written:

    struct A;
    struct B;
    struct A
    {
        int v;
        int f(B b)
        {
            return b.v;
        }
    };

    struct B
    {
        int v;
        int f(A a)
        {
            return a.v;
        }
    };

The compile message:

|In member function 'int A::f(B)':|
11|error: 'b' has incomplete type|
7|error: forward declaration of 'struct B'|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|

I know, why that code is not correct, but I don't know how to implement two structs that can access each other. Is there any elegant way? Thanks in advance.

Edit
Report