2

こんにちは皆さん、コンパイル中にこのエラーが発生しました

error:'unisgned int vehicle::accelerate' is not a static member of 'class vehicle'

これを修正する方法はありますか?

ヘッダーファイル

class vehicle
{
    public:
    enum Switch
    {
     SWITCH_ON=0,
     SWITCH_OFF
                };
     vehicle();
    ~vehicle();

    bool powerSwitch(Switch );
    unsigned int accelerate(unsigned int );
    unsigned int decelerate(unsigned int );
    bool isMoving();
    unsigned int getSpeed();
    unsigned int setSpeed(unsigned int);

private:
unsigned int speed;
bool moving;
};

車両.cpp

unsigned int vehicle::accelerate(amount)
{

if(moving==true;){
speed+=amount;
 }

 return speed;

 }
4

3 に答える 3

5

パラメータリストにタイプがありません:

unsigned int vehicle::accelerate(unsigned int amount)
{
  .....
}
于 2012-10-30T08:45:58.720 に答える
3

あなたが宣言したように:

unsigned int accelerate(unsigned int );

したがって、以下を実装する必要があります。

unsigned int vehicle::accelerate(unsigned int amount)
{
  //...

この時点でタイプを再度指定する必要があります。

于 2012-10-30T08:46:12.880 に答える
1

accelerateエラーは、演算子->またはを使用せずにメンバーにアクセスしようとしているが、パラメーターのタイプを忘れていることを除いて、別の場所にある可能性が.あり::ます

于 2012-10-30T08:46:00.833 に答える