【发布时间】:2012-09-25 01:00:24
【问题描述】:
我正在为一个名为 Robot 的实验室编写程序。当我编译它时,我得到了这组错误:
Robot.cpp:43:13: 错误: 'double' 之前的预期 unqualified-id
Robot.cpp:43:13: 错误:在 'double' 之前需要 ')'
该类在 Robot.h 标头中定义,导致问题的 .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 ;
}
我不知道为什么会出现这些错误……而且我也不知道那个错误是什么意思。我该如何解决?
【问题讨论】:
-
这似乎不是有效的 C++。为什么
maxSpd )后面有分号? -
这是在你的类定义中,还是在它之外?
-
另外,您能给我们提供更多背景信息吗?如果它是在一个类的上下文中,这可能很好,但我感觉你的范围已经关闭了。
-
另外,
MAX_SPEED是不变的吗?如果你正在初始化它,你需要一个初始化器,但你也应该把其他的也放在那里。 -
@FoolishOrpheus:顺便说一句,最好避免使用像“MAX_SPEED”这样的全大写标识符。预处理器宏名称大写是非常普遍的做法,这是避免在其他任何地方使用大写标识符的一个重要原因:您不想找到包含定义 MAX_SPEED 的某些标头并且您的代码突然中断。混合或小写都可以。