class A{public: A() {}; B f() { B b; return b; }};class B{public: B() {}; A f() { A a; return a; }};
C++ (Qt)#ifndef __A_H#define __A_H class B; class A{public: A(); B &f();}; #endif
C++ (Qt)#ifndef __B_H#define __B_H #include "a.h" class B{public: B(); A f();}; #endif
C++ (Qt)#ifndef __A_H#define __A_H class B; class A{public: A(); B f();}; #endif
C++ (Qt)#include "a.h"#include "b.h" A::A(){} B A::f(){ B b; return b;}
C++ (Qt)#ifndef __B_H#define __B_H class A; class B{public: B(); A f();}; #endif
C++ (Qt)#include "b.h"#include "a.h" B::B(){} A B::f(){ A a; return a;}
C++ (Qt)template <class T>class A_{public: A_() {}; T f() { T b; return b; }}; class B;typedef A_<B> A; class B{public: B() {}; A f() { A a; return a; }}; int main(){ A a; B b; return 0;}
C++ (Qt)#include <stdio.h> class X{public: class B; class A { public: A() {}; B f() { B b; return b; } }; class B { public: B() {}; A f() { A a; return a; } };};int main(){ return 0;}
C++ (Qt)#include <stdio.h> class B; class A { public: A() {}; B f() { B b; return b; } }; class B { public: B() {}; A f() { A a; return a; } }; int main(){ return 0;}