Он бубнит как раз по теме, потому что вначале находит второе объявление class B. То, что написано в этом втором объявлении class B не интересует оба компилятора. Поменяй порядок объявления классов B и сообщения о твоих ошибках станут белыми и шелковистыми :-)