Compilar uma classe com o GCC

Não tenho a certeza se cometi um erro sintático, mas fiz uma aula e obtive este erro quando tento compilá-lo....

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

funciona bem com o g++ , Mas tenho de usar o gcc...

Este é o código do problema..

#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
Author: Carl Norum, 2012-03-13

1 answers

gcc por omissão, compilar o seu programa como C, Uma vez que é um programa C++, isso não vai funcionar. Use a opção -x c++, ou mude o nome do seu ficheiro para ter uma extensão .C (o caso é importante) ou .cpp.

Editar: na verdade, você pode usar um monte de extensões de nomes de ficheiros para indicar que o seu programa é c++. De esta ligação:

.cc, .cp, .cxx,.cpp,.C++, .C

Edit 2: o seu comentário em baixo faz-me pensar que está a tentar colocar o ficheiro de cabeçalho na linha de comando. Não faças isso. Basta compilar os ficheiros de código e incluir os cabeçalhos conforme necessário.

 3
Author: Carl Norum, 2013-01-30 20:00:37