C++ C++;编译器错误:";构造函数的返回类型规范无效“;

C++ C++;编译器错误:";构造函数的返回类型规范无效“;,c++,C++,这是我的密码。编译所有文件时,我都会遇到此错误,我不确定自己做错了什么。请告知 Molecule.cpp:7:34:错误:构造函数的返回类型规范无效 //Sunny Pathak //分子量 #包括 #包括“molector.h” 使用名称空间std; 内联空穴分子::分子(){ 整数计数; 计数=0; }//端函数 布尔分子::read(){ cout构造函数没有返回类型: class Molecule { public: Molecule(); // constructor. No

这是我的密码。编译所有文件时,我都会遇到此错误,我不确定自己做错了什么。请告知

Molecule.cpp:7:34:错误:构造函数的返回类型规范无效

//Sunny Pathak
//分子量
#包括
#包括“molector.h”
使用名称空间std;
内联空穴分子::分子(){
整数计数;
计数=0;
}//端函数
布尔分子::read(){

cout构造函数没有返回类型:

class Molecule
{
 public:
  Molecule();  // constructor. No return type.
  bool read();
  void display() const;
};

Molecule::Molecule(){
       int count;
       count = 0;
}//end constructor

还请注意,
count
是构造函数主体的本地属性,您没有使用它做任何事情。

您正在使用返回类型编写构造函数。构造函数没有返回类型。只需将构造函数定义更改为:

/* void */ Molecule::Molecule()
// ^^^^ Remove this
{
    int count;
    count = 0;
}

构造函数不能有返回类型

更新:

inline void Molecule::Molecule(){
       ^^^
       int count;
       count = 0;
}//end function
致:


在以下情况下可能会出现相同的错误消息:

  • 类在H文件中定义,但缺少分号
  • 您的CPP文件包括H文件,并且还以类构造函数的定义开始
然后,编译器会将您的类定义视为构造函数方法的返回类型,并抛出此错误。如果是这种情况,则修复方法是添加分号


注意:OP的例子并非如此,但报告的错误(以及此问题帖子的标题)将是相同的。

@jagojapan只需编辑标题(如sgar91所做的那样)可能更具建设性。此问题很有用,因此不应被否决,它只是帮助我发现了一个愚蠢的错误。
inline void Molecule::Molecule(){
       ^^^
       int count;
       count = 0;
}//end function
Molecule::Molecule(){
       int count;
       count = 0;
}//end function