IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Fonction error non d�clar�e


Sujet :

C++

  1. #1
    Membre confirm� Avatar de Nileeda
    Femme Profil pro
    �tudiant
    Inscrit en
    Mai 2014
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 29
    Localisation : France, Val d'Oise (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Par d�faut Fonction error non d�clar�e
    Bonjour,

    Je suis en train de faire un programme en C++ sur Qt afin de pouvoir r�cup�rer des trames GPS.
    Sur une ligne r�cup�r�e sur Internet afin de m'aider � progresser, j'ai une erreur qui appara�t et qui semble venir de la fonction "error".
    Probl�me �tant que je ne sais pas comment r�soudre ce probl�me et que la recherche du mot cl� "error" sur Google m�ne � des r�sultats tr�s divers et vari�s et souvent sans grand int�r�t pour mon cas...
    Y'aurai-t-il une �me charitable pour venir � ma rescousse ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #include <QCoreApplication>
    #include <QDebug>
    #include <QIODevice>
    #include <QObject>
    #include <QSerialPort>
    #include <qSerialPort.h>
    #include <QString>
     
    #define PORT "/dev/ttyUSB0"
     
    #include <iostream>
     
    using namespace std;
     
    int main()
    {
        QString dataGPS;
        //const char *data;
        QSerialPort *port = new QSerialPort(QLatin1String(PORT));
     
        port->open(QIODevice::ReadOnly);
     
        port->setBaudRate(QSerialPort::Baud4800);
        port->setDataBits(QSerialPort::Data8);
        port->setStopBits(QSerialPort::OneStop);
        port->setParity(QSerialPort::NoParity);
        port->setFlowControl(QSerialPort::NoFlowControl);
     
        //port->open(QIODevice::ReadOnly);
     
        cout << "Lecture en cours" << endl;
     
        if(!port->open(QIODevice::ReadOnly)){
            emit error(QObject::tr("error %1").arg(port->error()));
            return 0;
        } else {
            dataGPS = QString::fromLatin1(port->readLine());
            qDebug() << dataGPS << endl;
        }
    }
    Erreur : 'error' was not declared in this scope

    Je travaille sur Ubuntu 14.04 LTS avec QtCreator 3.0.1 bas� sur Qt 5.2.1.

    Merci d'avance !
    Bonne journ�e

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Salut,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    emit error(QObject::tr("error %1").arg(port->error()));
    je ne travaille pas avec Qt du tout, mais tu essaye d'envoyer un signal error qui n'existe pas.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Membre chevronn�

    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Par d�faut
    bonjour, tu ne peux mettre des signaux et des slots que dans des classes derivant de QObject (classe de base) donc pas dans ta fonction main.si ton programme doit avoir une interface graphique par exemple une classe Mainwindow derivant de QMainwindow je te conseillerais de mettre tout ce que tu as mis pour le moment dans ta fonction main (init de ton port serie) dans le constructeur de ta classe MainWindow et tu pourras aussi declarer un signal error dans cette classe et un slot associ� si tu as vraiment besoin de ce signal. et n'oublie pas de faire une declaration de ta classe Mainwindow car dans le premier projet que tu as post� tu avais juste mis une definition d'une fonction membre de Mainwindow sans faire de declaration de ta classe Mainwindow (dans un fichier header par ex). si tu ne veux pas d'interface graphique � ton programme alors supprime ta ligne emit error ..... et laisse le projet tel quel.tu pourrais aussi faire un objet derivant de QObject avec une methode qui appelle emit error (apres mis dans le constructeur de cet objet le connect entre le signal error et le slot associ� et avoir declar� le signal error dans la declaration de l'objet) que tu mets dans ton main sans avoir d'interface graphique....

Discussions similaires

  1. fonctions non d�clar�e et inconnue
    Par despey dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 03/06/2009, 14h16
  2. R�ponses: 2
    Dernier message: 02/02/2009, 12h09
  3. Fonction On Error non prise en compte
    Par muppetshow dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 24/10/2008, 15h39
  4. R�ponses: 9
    Dernier message: 27/09/2006, 15h58
  5. fonction utilisateur non reconue par sql server 2000
    Par ouedmouss dans le forum MS SQL Server
    R�ponses: 1
    Dernier message: 05/09/2005, 07h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo