c++ - 编译时出现信号/槽错误

标签 c++ qt qtcore qobject qt-signals

<分区>

我显然在做一些非常愚蠢的事情。出于某种原因,我无法通过 Qt 发出自定义信号。我得到的错误是:

.\PBSPPTimeDelayServer.cpp(234) : error C3861: 'sig_tickExpicit': identifier not found

我已经清理并重建了项目,并检查了 MOC 文件中的适当信号;它在那里。

提前致谢,我确定这只是次要类型,但我不知道。

PBSPPTimeDelayServer.h

// Libraries
#include <QObject>
#include "PBSPipelineProcessorInOut.h"
#include "POMRegistryConfiguredObject.h"

// Interfaces
#include "IPOMPipelineProcessor2InOut.h"
#include "IPOMPipelineProcessor2In.h"

class CPBSPPTimeDelayServer :  public QObject,
                           public CPBSPipelineProcessorInOut,
                           public IPOMPipelineProcessor2InOut,
                           public CPOMRegistryConfiguredObject

{

Q_OBJECT

公共(public):

////////////////////////////////////////////////////////////////////
///\name Construction / Destruction
//@{
///Default Constructor
CPBSPPTimeDelayServer();
///Destructor
~CPBSPPTimeDelayServer();
//@}
////////////////////////////////////////////////////////////////////

...

signals:
void sig_tickExplicit(const quint64 nNT);

PBSPPTimeDelayServer.cpp

HRESULT CPBSPPTimeDelayServer::getSurfaces( IPBSPinOut* pPin, CPBSSurfaceArgs& args )
{
    // Pump components
    if(!m_pPrivateData->m_liDolphinPumpClients.isEmpty())
    {
        quint64 nNT[2];
        args.getNTPump().getNTArray(nNT);

    for (QList<IPBSDolphinPumpClient*>::const_iterator i = m_pPrivateData->m_liDolphinPumpClients.constBegin(); 
        i != m_pPrivateData->m_liDolphinPumpClients.constEnd(); ++i)
    {
        HRESULT hr = (*i)->pump(nNT);   
    }

    emit sig_tickExpicit(nNT[0]);
}

// Get surface from upstream
return getInputByIndex(0)->getSurfaces(args);

最佳答案

.\PBSPPTimeDelayServer.cpp(234) : error C3861: 'sig_tickExpicit': identifier not found

void sig_tickExplicit(const quint64 nNT);

基本上,尝试搜索其中一个,您将找不到另一个。这通常意味着,你打错了字。我想你想写的是这个(注意缺少的字符“l”):

emit sig_tickExplicit(nNT[0]);
                ^

关于c++ - 编译时出现信号/槽错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23347145/

相关文章:

c++ - 具有重载成员函数的多线程

c++ - Ogre RenderWindow 断言失败错误

c++ - 使用 Lambda 和递归函数调用了解 QTimer

c++ - 按键对实际 QMap 进行排序

c++ - Qt keyPressEvent 错误

c++ - 如何在 Qt 中使用 QJson 库

php - PHP 和 C++ 可以相互传递数据吗?

C++:在生产代码中使用 typeid

c++ - 这是在 C 或 C++ 中生成随机字节数组的好方法吗?

windows - 使用 Inno Setup 安装应用程序依赖项/DLL