2017-05-27 2 views
-2

Ich erhalte den Fehler "String nennt keinen Typ", obwohl er "using namespace std;" im Programm.Kompilierungsfehler "String nennt keinen Typ"

#ifndef SHAPE_H 
#define SHAPE_H 

using namespace std; 

class Shape 
{ 
    public: 
     Shape(); 
     virtual ~Shape(); 
     string getShapeName(); 
     void setShapeName(string shapeName); 
     virtual float calculateArea() = 0; //Calculates area of the shape 
    protected: 
     const float PI = 3.14159265; 
    private: 
     string m_ShapeName; 

}; 

#endif // SHAPE_H_INCLUDED 
+6

Sie verpassen '# include '. Und bitte verwenden Sie 'using namespace std;' nicht besonders in Header-Dateien. –

+1

Hi @ πάντα ῥεῖ, vielen Dank für den Rat, ich habe die Änderungen nach den Ratschlägen und dem Programm zusammengestellt. Können Sie bitte erläutern, warum es eine schlechte Idee ist, Namespaces zu verwenden? – user1128033

+0

Sicher: https://stackoverflow.com/questions/1452721/why-isusing-namespace-std-sidered-bad-practice –

Antwort

1

Sie vermissen den <string> Header:

#include <string>