błąd: dostęp członka do niekompletnego typu: deklaracja forward z

Mam dwie klasy na tym samym .cpp w ten sposób:

//forward
class   B;

class   A {       
   void   doSomething(B * _b) {
      _b->add();
   }
};

class   B {

   void   add() {
      ...
   }

};

Naprzód nie działa, nie mogę się skompilować.

Mam ten błąd:

error: member access into incomplete type 'B'
note: forward declaration of 'B'

Używam kompilatora clang (clang-500.2.79).

Nie chcę używać wielu plików (.cpp i .hh), chciałbym kodować tylko na jednym .cpp.

Nie mogę napisać klasy B przed klasą A.

Czy masz jakiś pomysł na rozwiązanie mojego problemu?

Z poważaniem.

questionAnswers(2)

yourAnswerToTheQuestion