这是我程序中的一门课!当我尝试编译整个程序时,出现如下错误消息:
来源
class Scene
{
int L,Dist;
Background back ;
Lake lake(int L);
IceSkater iceskater(int Dist);
public :
Scene(int L, int Dist)
{
cout<<"Scene was just created"<<endl;
}
~Scene()
{
cout<<"Scene is about to be destroyed !"<<endl;
}
};
最佳答案
您的问题在以下行中:
Lake lake(int L);
如果您只是想声明一个
Lake
对象,则可能要删除(int L)
。您所拥有的就是声明一个函数lake
,该函数返回Lake
并接受int
作为参数。如果您在构造
lake
对象时尝试传递L,那么我认为您希望代码看起来像这样:class Scene
{
int L,Dist;
Background back ;
Lake lake;
IceSkater iceskater;
public :
Scene(int L, int Dist) :
L(L),
Dist(Dist),
lake(L),
iceskater(Dist)
{
cout<<"Scene was just created"<<endl;
}
.....
注意添加到构造函数的4行。这称为成员初始化,及其构造成员变量的方式。在faq中阅读有关它的更多信息。或其他一些花絮,我发现了here和here。
关于c++ - 没有类类型C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14143967/