・・・と思ったが、戻り値or引数でもコンパイル通らねぇよ!
ヽ(`Д´)ノ ウワアァン!

struct clsA;
struct clsB;
struct clsA{clsB func(){return clsB();}};
struct clsB{clsA func(){return clsA();}};

error:認識できない型'clsB'が使われています。