2012-03-13 11 views
0

ねえ、それはして正常に動作はGCCでクラスをコンパイル

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

IVEは構文エラー聞くをしたが、IVEは、クラスを作って、私はそれをコンパイルしようとすると、このエラーを取得するかどうかわからない、すべてのイム.... 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

オック私は理解すると思います。 g ++で使用する.hはgcc \ –

+0

で認識されません。その意味はわかりませんが、通常の習慣はコンパイラのヘッダーファイルにはありません。 –

関連する問題