Ожидаемое первичное выражение перед const. Сузил это, но все еще не может найти это.

Я получил «Ожидаемое первичное выражение перед const» и потратил некоторое время, пытаясь найти проблему, но, похоже, не могу ее найти … Я сузил ее до файла .h и конструкторов. Вот код Любая помощь будет оценена.

#ifndef VEHICLE_H
#define VEHICLE_H

#include <iostream>
using namespace std;

class Vehicle{
protected:
char *name;
static ostream *out;
public:
Vehicle();
Vehicle(string n);
Vehicle (const Vehicle & b);
~Vehicle();
Vehicle& operater =(const Vehicle &b);
virtual void print() = 0;
virtual void read() = 0;

};

#endif // VEHICLE_H
~

Конструкторы в отдельном файле.

#include "vehicle.h"
Vehicle :: Vehicle(){

name = "";

}

Vehicle :: Vehicle(string n){

name = n.c_str();
}

Vehicle :: Vehicle(const Vehicle & a){

int len = strlen(a.name)+ 1;

name = new char[len];
strcpy(name,a.name);

}
Vehicle :: Vehicle &operater = (const Vehicle &b){

if(this = &b){

return *this;

}

int len = strlen(a.name)+ 1;
name = new char[len];
strcpy(name,a.name);

return *this;
}

Vehicle:: ~Vehicle(){

delete [] name;

}

Еще раз спасибо.

0

Решение

В своем классе транспортных средств вы написали оператор неправильно:

Vehicle& operater =(const Vehicle &b);

редактировать: вы пишете это неправильно каждый раз.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]