1

CodeBlocks IDE を使用して Linux で小さなアプリを開発しています。次のコードでクラスを定義しました。

class CRenderContext
{
public:     /*instance methods*/
             CRenderContext() :
             m_iWidth(0), m_iHeight(0),
             m_iX(0), m_iY(0),
             m_bFullScreen(false), m_bShowPointer(false) {};

             CRenderContext  (int                    iWidth,
                              int                    iHeight,
                              int                    iX,
                              int                    iY,
                              bool                   bFullScreen,
                              bool                   bShowPointer)
                              :
                              m_iWidth(iWidth), m_iHeight(iHeight),
                              m_iX(iX), m_iY(iY),
                              m_bFullScreen(bFullScreen), m_bShowPointer(bShowPointer) {};
        virtual ~CRenderContext () {};

    public:     /*instance data*/
        int     m_iWidth;
        int     m_iHeight;
        int     m_iX;
        int     m_iY;
        bool    m_bFullScreen;
        bool    m_bShowPointer;
};

上記のコードをコンパイルすると、常に次のエラーが発生します。

エラー: CRenderContext の前に '='、','、';'、'asm' または 'attribute' が必要です

エラーを解決する方法についてのアイデアはありますか?

前もって感謝します、

エウジェニオ

4

1 に答える 1

4

C++ ではなく、C コードとしてコンパイルしています。おそらく、ソース ファイルの名前を .cpp 拡張子に変更する必要があります。コードは g++ と comeau を使用して (C++ として) 完全にコンパイルされますが、余分なセミコロンがいくつかあります。例えば:

virtual ~CRenderContext () {};

最後にセミコロンは必要ありません。

于 2009-06-13T12:17:41.640 に答える