2012-03-13 2 views
0

어이가 함께 잘 작동는 GCC와 클래스를 컴파일

dining.h:7:1: error: unknown type name ‘class’ 
dining.h:7:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token 

필자는 구문 오류 듣고으나 필자는 클래스를 만들어 내가 컴파일 할 때이 오류가 있는지 확실하지 않습니다 모든 메신저 .... g ++하지만 난 GCC를 사용할 필요가 ...

이 문제의 코드입니다 .. 그것은 C++ 프로그램의 이후 C.로 프로그램을 컴파일에

#ifndef DINING_H 
#define DINING_H 

class DiningSet { 

    public: 
     DiningSet(); 
     ~DiningSet(); 
     void getSize(); // accepts X and Y dimentions of the table (in metres) 
     //void surfaceArea(int,int); // Calculates Surface Area of table (in square metres) 
     void numChairs(); // accepts number of chairs 
     void cushionColour(); // accepts a cushion colour 
     void woodType(); // accepts wood type 
     void priceComp(); // computes a price of set 
     void purchaseDet(); // displays details of purchase 
     void purchasePrice(); // displays price of purchace 

    private: 
     int X, Y; // Dimentions of table 
     float Surface; 
     int chairs; // Number of chairs 
     char colour; // colour of cushion (should be dynamic array) 
     char wood; 
     float totalPrice; 
}; 


#endif 
+0

현재 사용중인 명령 줄을 표시하십시오. –

답변

3

gcc 기본적으로, 그 일을하지 않을 것이다. -x c++ 플래그를 사용하거나 파일의 이름을 .C (대소 문자가 중요) 또는 .cpp 확장명으로 바꿉니다.

편집 : 실제로 파일 확장자를 사용하면 프로그램이 C++임을 나타낼 수 있습니다. this link에서 :

.CC, .CP, .CXX, cpp를,이 .C++, .C

편집 2 : 귀하의 의견은 다음 날 당신은 헤더 파일을 넣을려고 생각하게 명령 줄에서. 그러지 마. 소스 파일을 컴파일하고 필요에 따라 헤더를 포함하면됩니다.

+0

왜 헤더 파일을 명령 행에 넣고 있습니까? 'gcc file.cpp'는 괜찮을 것입니다. '-x' 플래그를 사용하려면 : gcc -x C++ file.cpp'. –

+0

ohk 나는 이해한다고 생각한다. 그래서 내가 g ++에 사용하는 .h gcc \ –

+0

그게 무슨 뜻인지 모르겠지만, 정상적인 관행은 컴파일러 헤더 파일 자체가 아닙니다. –

관련 문제