C++ 假定的;语法错误“;在我的代码中,“;失踪'';在';之前'&引用;

C++ 假定的;语法错误“;在我的代码中,“;失踪'';在';之前'&引用;,c++,C++,我对这一级别的编码还比较陌生,我真的遇到了这个错误: [Line 65] error C2143: syntax error : missing ';' before '.' 显然,这通常意味着我的代码中有语法错误,但我在任何地方都找不到。任何帮助(或第二组眼睛看到我的错误将不胜感激) 下面是有问题的代码片段: class RacingCar { public: Wheel* wheels[4]; RacingCar()

我对这一级别的编码还比较陌生,我真的遇到了这个错误:

[Line 65] error C2143: syntax error : missing ';' before '.'
显然,这通常意味着我的代码中有语法错误,但我在任何地方都找不到。任何帮助(或第二组眼睛看到我的错误将不胜感激)

下面是有问题的代码片段:

class RacingCar {

public: 
            Wheel* wheels[4];

            RacingCar()
            { 
                wheels[0] = new Wheel;
                wheels[1] = new Wheel;
                wheels[2] = new Wheel;
                wheels[3] = new Wheel;
            }

            RacingCar( RacingCar& refOldCar)
            {
//              new Wheel(refOldCar.wheels[0]->pressure);
                wheels[0] = new Wheel;
                wheels[1] = new Wheel;
                wheels[2] = new Wheel;
                wheels[3] = new Wheel;

                int a = refOldCar.speedCopy();
                **RacingCar.setSpeed(10);**
                RacingCar.Brake(50);
                RacingCar.Print();
                RacingCar.speed = refOldCar.speed;
            }
非常感谢您的帮助

这:

RacingCar.setSpeed(10);
应该是:

setSpeed(10);
这是以下的简写:

this->setSpeed(10);
这:

应该是:

setSpeed(10);
这是以下的简写:

this->setSpeed(10);
没有这样的语法。写:

RacingCar::setSpeed(10);

请注意,它们可能有不同的含义,但在您的上下文中可能会起相同的作用

没有这样的语法。写:

RacingCar::setSpeed(10);


请注意,它们可能有不同的含义,但在您的上下文中可能会起到相同的作用。

由于速度不太可能是一个级别属性(影响所有车辆),您可能想写:

this->setSpeed (10); // or, for the less anal, just "setSpeed(10);" :-)

这将更正确地尝试设置对象级别属性。类级属性将引用
RacingCar::SomethingOrOther
(双冒号而不是点),这就是为什么它认为您需要在该
字符之前关闭当前语句的原因。

由于速度不太可能是类级属性(影响所有车辆),您可能想写:

this->setSpeed (10); // or, for the less anal, just "setSpeed(10);" :-)

这将更正确地尝试设置对象级别属性。类级属性将引用
RacingCar::SomethingOrOther
(双冒号而不是点),这就是为什么它认为您需要在该
字符之前关闭当前语句。

您正在使用类和构造函数(与类相同)名称-例如RacingCar而不是refOldCar,这或只是直接访问成员

您使用的是类和构造函数(与类相同)名称-例如RacingCar而不是refOldCar,这或只是直接访问成员

仅供参考,该行由**突出显示。。。这些实际上不在我的代码中;)<代码>车轮*车轮[4]似乎没有必要。为什么不直接使用
车轮[4]
车轮*车轮?对于后一种用途,您可以这样初始化它
wheels=newwheel[4]
@gunbuster363-不,这是一个非常大的类的片段。:)仅供参考,该行由**突出显示。。。这些实际上不在我的代码中;)<代码>车轮*车轮[4]似乎没有必要。为什么不直接使用
车轮[4]
车轮*车轮?对于后一种用途,您可以这样初始化它
wheels=newwheel[4]
@gunbuster363-不,这是一个非常大的类的片段。:)哦,快。我真不敢相信我错过了。我想这不是我习惯的语法错误。真的,真的很感谢你的及时回答。我真不敢相信我错过了。我想这不是我习惯的语法错误。真的,真的很感谢你的及时回答。谢谢,我现在明白了,我想从里面引用一些东西。这是有道理的。谢谢你的快速回答。谢谢,我现在明白了,我是想从里面引用一些东西。这是有道理的。感谢你的快速回答谢谢你的解释,这真的有助于它的意义谢谢你的解释,这真的有助于它的意义