C++ 没有类类型C++;
这是我课程中的一节课!当我试图编译整个程序时,会收到如下错误消息: main.cpp:174:错误:“((场景*)this)->Scene::lake”没有类类型 源头C++ 没有类类型C++;,c++,C++,这是我课程中的一节课!当我试图编译整个程序时,会收到如下错误消息: main.cpp:174:错误:“((场景*)this)->Scene::lake”没有类类型 源头 class Scene { int L,Dist; Background back ; Lake lake(int L); IceSkater iceskater(int Dist); public : Scene(int L, int Dist) { cout&l
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;
}
};
课堂场景
{
国际L区;
背景背景;
湖泊(国际L);
溜冰者溜冰者(国际区);
公众:
场景(内部L,内部距离)
{
cout将lake
声明为一个方法,该方法接受一个参数并返回lake
。然后尝试通过lake.light\u up()
调用该方法。这会导致您观察到的错误
要解决此问题,您需要将lake
声明为变量,例如lake-lake;
,或者您需要停止尝试对其调用方法。您的问题在以下行中:
Lake lake(int L);
如果您只是试图声明一个Lake
对象,那么您可能需要删除(int L)
。您现在拥有的是声明一个函数Lake
,该函数返回Lake
,并接受int
作为参数
如果您在构建湖
对象时试图传入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;
}
.....
课堂场景
{
国际L区;
背景背景;
湖泊;
溜冰者溜冰者;
公众:
场景(内部L,内部距离):
L(L),
区(区),
湖(L),
溜冰者(区)
{
cout您已声明(但从未定义)lake
为场景的成员函数:
class Scene
{
// ...
Lake lake(int L);
但在plot
中,您尝试使用lake
,就好像它是一个变量一样:
int plot()
{
lake.light_up();
将行Lake-Lake(int-L);
替换为Lake-Lake=Lake(L);
或者说:Lake Lake{L};
Lake是一个方法,而不是一个变量Lake Lake(int L);Lake.light\u up()//这并不是说senseLake是一个类,我正在尝试在类场景中创建她的对象Lake是一个类,但是Lake(lowcase)是一个方法,你试图调用该对象的一个方法,这行是错误的,Lake.light\u up();作为在不同情况下出现此错误的人的提醒:我在将QVariant
类型转换为std::string
时遇到了这种情况:x.toString.toStringStd()
。我忘记了x.toString()
末尾的()
。这花了我不少时间。