[SOLVED] Error to declare signal



  • Hello All!

    I am trying to declare a signal as the code below shows:
    @
    //bancodados.h
    #ifndef BANCODADOS_H
    #define BANCODADOS_H

    #include <QObject>

    class bancoDados : public QObject
    {
    Q_OBJECT

    public:
    explicit bancoDados(QObject *parent = 0);

    signals:
    void conectar();

    public slots:

    };
    @
    @
    //bancodados.cpp
    #include "bancodados.h"

    #include <QSqlDatabase>

    bancoDados::bancoDados(QObject *parent) :
    QObject(parent)
    {

    }
    void bancoDados::conectar()
    {
    bool retorno = true;

    emit retorno;
    

    }
    @

    Well, when I run this code it show the error:
    @:-1: error: 1 duplicate symbol for architecture x86_64@

    But, if I change "void conectar();" from signals to public, it runs, but I need to it stays as a signal

    Can anyone help me?

    Thanks a lot.


  • Lifetime Qt Champion

    Hi,

    signals don't have an implementation and you can't emit a variable.

    See the "Signals And Slots":http://qt-project.org/doc/qt-5/signalsandslots.html documention for more information



  • Thaks a lot


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.