常量之前的预期主要表达。缩小了范围,但仍然找不到。

Expected primary expression before const. Narrowed it down but still can't find it.

本文关键字:范围 缩小 找不到 常量      更新时间:2023-10-16

我得到了一个"在 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;
}

再次感谢。

在您的类车辆中,您拼写错误的操作员:

Vehicle& operater =(const Vehicle &b);

编辑:你每次都拼写错误。