class A{

public:
  A(){};
  B* bobj;
  void funcB(B*);
};
//A.h

class B{

public:
  B(){};
  A* aobj;
  void funcA(A*);
};
endif//B.h

このような2つのヘッダファイルを
コンパイルすると、エラーになってしまいます。
AとBの間で通信を行おうとしているのですが、具体的にはAとBはウィンドウで
Aのボタンを押したら結果をBに反映させ、Bのボタンを押したら、結果を
Aに反映させようとしております。何か良い方法が無いでしょうか?
宜しくお願いいたします。