-1

ちょっと、iveが構文エラーを聞いたかどうかはわかりませんが、iveがクラスを作成し、コンパイルしようとするとこのエラーが発生します。

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

g ++で正常に動作しますが、gccを使用する必要があります...

これが問題コードです。

#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
4

1 に答える 1

3

gccデフォルトでは、プログラムをCとしてコンパイルします。これはC ++プログラムであるため、機能しません。-x c++フラグを使用するか、ファイルの名前を.C(大文字と小文字が重要です)または.cpp拡張子を持つように名前を変更します。

編集:実際には、たくさんのファイル名拡張子を使用して、プログラムがC++であることを示すことができます。このリンクから:

.cc、.cp、.cxx、.cpp、.c ++、.C

編集2:以下のコメントは、ヘッダーファイルをコマンドラインに配置しようとしていると思わせます。そうしないでください。ソースファイルをコンパイルし、必要に応じてヘッダーを含めるだけです。

于 2012-03-13T05:10:56.967 に答える