对象之前的预期')'。类没有命名类型[重复]
Posted
技术标签:
【中文标题】对象之前的预期\')\'。类没有命名类型[重复]【英文标题】:expected ')' before object. class does not name a type [duplicate]对象之前的预期')'。类没有命名类型[重复] 【发布时间】:2018-11-21 09:29:37 【问题描述】:我不知道发生了什么。我在头文件中包含了文件保护,但仍然出现错误。
这些是我的课程:
汽车.h
#ifndef CAR_H
#define CAR_H
#include "Color.h"
class Car
public:
Car(Color a);
void printInfo();
private:
Color carColor;
;
#endif
汽车.cpp
#include "Car.h"
#include <iostream>
using namespace std;
Car::Car(Color a)
: carColor(a)
void Car::printInfo()
cout << "the car is ";
carColor.printColor();
颜色.h
#ifndef COLOR
#define COLOR
#include "Car.h"
#include <iostream>
using namespace std;
class Color
public:
Color(string c);
void printColor();
private:
string colorr;
;
#endif // COLOR
颜色.cpp
#include "Color.h"
Color::Color(string c)
: colorr(c)
void Color::printColor()
cout << colorr;
编辑: 伙计们,我没有侮辱任何人。想象一下你写了很多字,*** 给你关于问题的错误,你编辑,但仍然是一样的,然后再次编辑......这种情况一次又一次地发生。我应该多写什么??这个问题简单而简短,甚至不需要解释。
【问题讨论】:
你应该习惯于使用const string&
而不是string
作为参数。引用比副本便宜,const
有助于传达关于可变性的意图。
你至少也可以尝试做个文明人。快点!如果您想知道为什么这个问题被大力否决,那么除了您自己之外,没有人可以责备。
“我应该多写点什么??这个问题简单而简短,甚至不需要解释它。” 嗯......你可以(阅读应该) 在您的问题正文中引用完整和准确 错误消息。您还应该指出编译器报告的错误的确切位置。这个问题可能简单而简短,但解释您对代码和错误消息的理解/期望仍然是一个好主意。这将有助于人们为您的问题提供更好的答案并解决您的误解。
【参考方案1】:
首先,您应该从Color.h
中删除#include "Car.h"
。
它创建了一个不必要的循环包含,并且编译器在知道Color
是一个类之前就命中了Car(Color a)
。
您还需要包含标题 <string>
以将字符串输出到 cout。
下一次,也许不要侮辱帮助你的人。
【讨论】:
以上是关于对象之前的预期')'。类没有命名类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章