-1

嘿,我不确定我是否犯了语法错误,但我做了一个类,当我尝试编译它时得到这个错误....

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 回答