See my reply to Suhas Saha for a little more info.
By removing the references to class B from the public header of class A, I am able to activate class B with no syntax error. When I put the reference back, class A also activates with no syntax error, but when I run the check on B again, the syntax error is back.