2017-05-27 77 views
-2

儘管有「using namespace std;」,但我收到錯誤「字符串沒有命名類型」在節目中。編譯錯誤「字符串沒有命名類型」

#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

你錯過的#include''。請不要使用'使用命名空間標準;'特別是不要在頭文件中。 –

+1

Hi @πάνταῥεῖ,非常感謝您的建議,我根據建議進行了修改,程序正在編譯。請您詳細說明一下,爲什麼使用名稱空間是一個壞主意? – user1128033

+0

當然:https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice –

回答

1

你缺少<string>頭:

#include <string> 
相關問題