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