Question

I'm clearly doing something very dumb. For some reason, I can not emit a custom signal via Qt. The error I am getting is:

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

I have cleaned and rebuilt the project as well as inspected the MOC file for the appropriate signal; it is there.

Thanks in advance, I'm sure this is just a minor type, but I have no clue.

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

}

Was it helpful?

Solution

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

and

void sig_tickExplicit(const quint64 nNT);

Basically, try to search for one of them and you will not find the other. That usually means, you have made a typo. I think what you meant to write is this (note the missing character 'l'):

emit sig_tickExplicit(nNT[0]);
                ^
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top