2013-02-14 7 views
11

Ecco il mio codice. Quando compilo tutti i file ottengo questo errore, non sono sicuro di cosa sto facendo male. Si prega di avvisare.Errore nel compilatore C++: "specifica del tipo di ritorno per costruttore non valido"

Molecule.cpp:7:34: error: return type specification for constructor invalid

//Sunny Pathak 
//Molecule.cpp  
#include <iostream> 
#include "Molecule.h"  
using namespace std; 

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

bool Molecule::read(){ 
    cout << "Enter structure: %c\n" << structure << endl; 
    cout << "Enter full name: %c\n" << name << endl; 
    cout << "Enter weight : %f\n" << weight << endl; 
}//end function 


void Molecule::display() const{ 
    cout << structure << ' ' << name << ' ' << weight << ' ' << endl; 
}//end function 
+1

-1 per titolo inutile. – jogojapan

+3

@jagojapan Potrebbe essere più costruttivo modificare il titolo (come ha fatto sgar91). Questa domanda è utile ed essere così non dovrebbe essere downvoted, mi ha solo aiutato a trovare uno stupido errore. – Antonio

risposta

16

Un costruttore non ha tipo di ritorno:

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

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

Si noti inoltre che count è locale al corpo del costruttore, e non lo si utilizza per nulla.

+0

Right right. Grazie. – Sunny

3

Si sta scrivendo un costruttore con un tipo di reso. I costruttori non hanno restituito il tipo. Basta cambiare la tua definizione costruttore in:

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

costruttore non può avere tipo di ritorno.

aggiornamento:

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

a:

Molecule::Molecule(){ 
     int count; 
     count = 0; 
}//end function 
Problemi correlati