gpt4 book ai didi

c++ - 'double'/之前的预期不合格 ID

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:16 24 4
gpt4 key购买 nike

我正在为一个名为 Robot 的实验室编写程序。当我编译它时,我得到了这组错误:

Robot.cpp:43:13: error: expected unqualified-id before 'double'

Robot.cpp:43:13: error: expected ')' before 'double'

该类在 Robot.h header 中定义,导致问题的 .cpp 中的代码如下所示:

/*
* Name: Robot (constructor)
*
* Creates the robot with the given maximum speed.
*/

Robot( double maxSpd )

{

MAX_SPEED = maxSpd;
traveled = 0 ;
elapsed = 0 ;
x = 0 ;
y = 0 ;

}

我不明白为什么会出现这些错误...而且我什至不知道该错误是什么意思。我该如何解决?

最佳答案

我已经成功重现了您的错误。

首先,签名后的分号必须去掉。当您尝试定义一个函数时,它正在声明一个函数。

Robot(double maxSpd) {...} //no semicolon

SecondlyFirst of all, since this is outside of your class, you need to qualify it:

Robot::Robot(double maxSpd) {...}

接下来,由于 MAX_SPEED 是常量,您需要将其放在成员初始化器中:

Robot::Robot(double maxSpd)
: MAX_SPEED(maxSpd) {...}

最后,您还应该将其余的赋值移动到初始化列表(不是必需的,但这样做很好),请记住它们应该按照声明的顺序列出在类定义中:

Robot::Robot(double maxSpd)
: MAX_SPEED(maxSpd), traveled(0), elapsed(0), x(0), y(0) {
//body, which, from your example, would now be empty
}

关于c++ - 'double'/之前的预期不合格 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com