Hi, all!
I'm writing python module and run into obstacle. I need a couple of classes which can return instance of each other.
This is part of my module:

/// mysupermodule.cpp
...
struct X 
{
    X():s("default") {}
    X(std::string s):s(s) {}
    Y getY() const { return Y(); }
};

struct Y
{
    Y():s("default") {}
    Y(std::string s):s(s) {}
    X getX() const { return X(); }
};
...
///
And I got obvious error:  mysupermodule.cpp:45:5: error: ‘Y’ does not name a type.

How can I solve this task?

Regards
Sergiy