gpt4 book ai didi

c++ - g++ 解析错误 ":"

转载 作者:可可西里 更新时间:2023-11-01 17:46:41 35 4
gpt4 key购买 nike

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 很多年了,以前从未见过这种情况,这一定很愚蠢,但我看不出是什么导致了这个问题。

最佳答案

类定义中的“slots”和“signals”部分应该只包含函数;既不是类型也不是成员变量。

您应该将 typedef 移动到公共(public)、 protected 或私有(private)部分:

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

typedef QMap< Sy::Frame, Sy_timeLineDelegateKey* > DelegateTimeLine;

protected slots:
...

关于c++ - g++ 解析错误 ":",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10841385/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com