未发现智能感知功能定义的Qt信号警告

时间:2017-02-25 20:52:48

标签: c++ visual-studio qt signals-slots qt-signals

我正在使用Qt 5.8和VS Community 2015.当我在一个类中定义两个或更多信号时,对于除第一个信号之外的所有信号,VS将显示“未找到功能定义”警告。此外,在我开始在我的类中定义了多个信号之后,我开始遇到奇怪的链接器/其他问题,我认为这可能是相关的。我很感激有关此事的任何信息。

更新:当我删除moc文件时,qmake不会重新发送它并且会给链接器错误。 更新:moc文件看起来很正常。它已经实现了两个信号,但我仍然有这种奇怪的行为。

class MyClass: public QObject{

public:
    MyClass() {}

private:
    Q_OBJECT

signals:
    void signal1(); // no warning
    void signal2(); // intellisense warns for no function definition

};

但是,如果我在定义的每个信号之前添加signals:,我就不会有这样的行为。

class MyClass: public QObject{

public:
    MyClass() {}

private:
    Q_OBJECT

signals:
    void signal1(); // no warning
signals:
    void signal2(); // no warning

};

1 个答案:

答案 0 :(得分:0)

我有同样的问题。

仅通过重新启动Visual Studio即可消失。

我已经注意到,有时将QT与VS一起使用时,有些奇怪的行为/错误只能通过重提VS来解决。我想这就是其中之一...