急为什么说小弟我没有构造函数

急!为什么说我没有构造函数?
现有三个文件
//A.h文件
class   A
{
    A();
.......
}

//A.cpp文件
A::A()
{}

//B.h文件

class   A;//声明了class   A
.....
class   B:
{
      void   init()
      {
          A*   p   =   new   A();
          .....
      }
}

编译的时候,A*   p   =   new   A()这行报错:

error   C2512:   'A '   :   no   appropriate   default   constructor   available

请问是为什么?谢谢




------解决方案--------------------
将“ A* p = new A();”
改成 A* p = new A;即可。

------解决方案--------------------
在B.h里包含A.h
------解决方案--------------------
//B.h文件

#include "A.h " ////


.....
class B:
{
void init()
{
A* p = new A();
.....
}
}

------解决方案--------------------
晕,不能#include "A.h ",那在B.h中你怎么能声明class A?

------解决方案--------------------
因为默认是私有的,不能进行创建A类的对象