ожидаемый asm или __attribute__ перед CRenderContext - PullRequest
1 голос
/ 13 июня 2009

Я занимаюсь разработкой небольшого приложения под Linux с использованием IDE CodeBlocks. Я определил класс со следующим кодом:

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;
};

Я всегда получаю следующую ошибку при компиляции приведенного выше кода:

ошибка: ожидается '=', ',', ';', 'asm' или 'attribute' перед CRenderContext

Есть идеи о том, как решить ошибку?

Заранее спасибо,

Eugenio

1 Ответ

4 голосов
/ 13 июня 2009

Вы компилируете его как код C, а не C ++. Вам, вероятно, нужно переименовать исходный файл, чтобы иметь расширение .cpp. Код прекрасно компилируется (как C ++) с g ++ и comeau, хотя у вас есть лишние точки с запятой. Например:

virtual ~CRenderContext () {};

Нет необходимости ставить точку с запятой до конца.

...