常量之前的预期主要表达。缩小了范围,但仍然找不到。
Expected primary expression before const. Narrowed it down but still can't find it.
我得到了一个"在 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);
编辑:你每次都拼写错误。
相关文章:
- std::map, std::unordered_map - 缩小初始值设定项列表中的转换范围
- 为什么 gcc 警告只针对统一初始化缩小转换范围?
- 标准是否阻止在可变参数模板中使用足够小的文本值缩小文本转换范围
- 从'::size_t'转换为'int'需要缩小转换范围
- 在基于范围的循环范围内的双/整数使用和数据缩小
- 列表初始化时需要缩小转换范围
- 从'double'转换为'int'需要缩小转换范围
- 正在缩小MSVC中到布尔警告的转换范围
- 将转换范围缩小到更大的类型(然后再回来)
- 为什么缩小转换范围不能防止错误类型的map.insert()失败
- 常量之前的预期主要表达。缩小了范围,但仍然找不到。
- 在Linux上构建Ogre时出错:缩小转换范围
- 有没有办法使用模板来避免缩小转换范围
- 缩小 C++11 中的转换范围:"actual value after conversion"是什么?
- 将转换范围从无符号缩小到双精度
- 警告缩小转换范围(uint32 到 uint8)
- 创建字符数组,避免缩小范围
- 套接字动态绑定到缩小范围
- 从'float'转换为'LONG'需要缩小转换范围
- 警告:缩小转换范围 C++11