class classA; classA *create_an_a(); // permits creation of a classA while it is an incomplete type. typedef classA classA_typedef;