急为什么说小弟我没有构造函数
急!为什么说我没有构造函数?
现有三个文件
//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类的对象
现有三个文件
//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类的对象