Ошибка синтаксического анализа g++ в «:»

g++сообщает об ошибке синтаксического анализа с кодом ниже:

class Sy_timeLineDelegateScene : public QGraphicsScene
{
    Q_OBJECT
public:
    Sy_timeLineDelegateScene( Sy_animPropertyTimeLine* timeline,
                              Sy_animClock* clock,
                              QObject* parent = nullptr );
    virtual ~Sy_timeLineDelegateScene() {}

protected slots:   // Parse error at ":"
    typedef QMap< Sy::Frame, Sy_timeLineDelegateKey* > DelegateTimeLine;
...

Мой класс является производным от QObject, и я объявил Макрос Q_OBJECTперед ошибкой, но если я закомментирую часть slots, он компилируется нормально Я использовал Qtв течение многих лет и никогда раньше этого не видел, должно быть что-то глупое, но я не понимаю, в чем проблема.

8
задан cmannett85 31 May 2012 в 21:14
поделиться