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

Qt Discussion :

pb de compilation a cause d'une ligne.


Sujet :

Qt

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Points : 74
    Points
    74
    Par défaut pb de compilation a cause d'une ligne.
    Bonjour à tous
    J'ai encore un petit probleme.
    Voici mon code:

    main.cpp
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    #define HE
    #include <QApplication>
    #include <QFont>
    #include <QPushButton>
    #include <QLabel>
    #include <QTextEdit>
    #include <QtNetwork\QTcpServer>
    #include <QtCore\QObject>
    #include <QtCore\QString>
    #include <QTcpServer>
    #include <QTcpSocket>
    #include <QSound>
    #include "link.h"
     
    using namespace std;
    int main(int argc, char* argv[])
    {
        QApplication app(argc, argv);
        QWidget fenetrep; /**objet parent*/
     
        /**Server et client*/
        QTcpServer serveur;
        QTcpSocket client;
        serveur.listen(QHostAddress::Any,8282);
        /**end*/
     
        /**creation of objects link to the parent */
        QPushButton BoutonSeb("Seb",&fenetrep);
        QPushButton BoutonJer("Jer",&fenetrep);
        QPushButton BoutonThi("Thi",&fenetrep);
        QPushButton BoutonEnvoyer("Envoyer",&fenetrep);
        QPushButton BoutonQuitter("Quitter",&fenetrep);
        QLabel LabelConnection("Label d'info--Programme développé par Seb",&fenetrep);
        QLabel LabelReceive("Label de reception",&fenetrep);
        QTextEdit TextZone(&fenetrep);
        link tra(&TextZone,&LabelConnection,&serveur,&client);
        QSound son("ringin.wav",&fenetrep);
        /**end */
     
        /**Resize*/
        fenetrep.resize(800,600);
        BoutonJer.setGeometry(10, 10,50,30);
        BoutonSeb.setGeometry(375, 10,50,30);
        BoutonThi.setGeometry(740, 10,50,30);
        BoutonEnvoyer.setGeometry(370, 500,75,45);
        BoutonQuitter.setGeometry(370,550,75,45);
        LabelConnection.setGeometry(10,30,775,45);
        LabelReceive.setGeometry(10,60,775,300);
        TextZone.setGeometry(10,450,775,45);
        /**end*/
     
     
     
        /**event*/
            QObject::connect(&BoutonQuitter,SIGNAL(clicked()),&app,SLOT(quit()));
            QObject::connect(&BoutonEnvoyer,SIGNAL(clicked()),&tra,SLOT(appaff()));
            QObject::connect(&BoutonSeb,SIGNAL(clicked()),&tra,SLOT(connectionToSeb()));
            QObject::connect(&BoutonJer,SIGNAL(clicked()),&tra,SLOT(connectionToJer()));
            QObject::connect(&BoutonThi,SIGNAL(clicked()),&tra,SLOT(connectionToThi()));
            QObject::connect(&serveur,SIGNAL(newConnection()),&son,SLOT(play()));
            QObject::connect(&serveur,SIGNAL(newConnection()),&tra,SLOT(acceptClient()));
     
        /**end*/
     
     
        fenetrep.show();
     
        return app.exec();
    }
    link.h
    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
    41
    42
    43
    44
    45
     
    #ifndef HE
    #include <QLabel>
    #include <QTextEdit>
    #include <QtCore\QObject>
    #include <QTcpServer>
    #include <QTcpSocket>
    #include <QSound>
    #endif
     
    using namespace std;
    class link : public QObject
    {
        Q_OBJECT
     
     
        public:
        link(QTextEdit *T, QLabel *L,QTcpServer *S,QTcpSocket *C ) : Text(T),Label(L),Serveur(S),Client(C)
         {
         };
     
        void affichage();
     
     
     
     
     
     
        public slots:
        void appaff();
        void connectionToJer();
        void connectionToSeb();
        void connectionToThi();
        void acceptClient();
     
     
     
     
        private:
        QTextEdit *Text;
        QLabel *Label;
        QTcpServer *Serveur;
        QTcpSocket *Client;
     
    };
    link.cpp
    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 "link.h"
     
    void link::appaff()
    {
        affichage();
    }
     
     
    void link::affichage()
    {
        Label->setText(Text->toPlainText());
    }
     
    void link::connectionToJer()
    {
        QSound son0("chimes.wav");
        son0.play("chimes.wav");
        Client->connectToHost("192.168.1.251",8282);
    }
     
    void link::connectionToSeb()
    {
        QSound son0("chimes.wav");
        son0.play("chimes.wav");
        Client->connectToHost("192.168.1.254",8282);
    }
     
    void link::connectionToThi()
    {
        QSound son0("chimes.wav");
        son0.play("chimes.wav");
        Client->connectToHost("192.168.1.252",8282);
    }
     
    void link::acceptClient()
    {
        QTcpSocket &socket=Client;
        socket=Serveur->nextPendingConnection();
    }
    Dans link.cpp, ligne suivante bug à la compilation mais je ne comprend pas pourquoi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    socket=Serveur->nextPendingConnection();
    Pouvez vous m'aidez pour ce petit probleme?
    merci d'avance

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par sebatlante Voir le message
    Dans link.cpp, ligne suivante bug à la compilation mais je ne comprend pas pourquoi:
    C'est a dire?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Points : 74
    Points
    74
    Par défaut
    Voici l'erreur:

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    As tu essayé de comprendre l'erreur?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Points : 74
    Points
    74
    Par défaut
    essayer oui mais la trouver non sinon je ne serai pas ici.
    Je suppose que c'est un truc tout bete comme d'habitude mais je ne voit pas quoi.

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       QTcpSocket &socket=Client;
    n'est pas bon car Client est un pointeur (QTcpSocket*) !
    Un code juste serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QTcpSocket* Socket = Client; (1)
    // ou
    QTcpSocket& socket = *Client;
    Utiliser la solution (1) fera disparaître la deuxième erreur de compilation, en plus.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Points : 74
    Points
    74
    Par défaut
    oui je sais que c'est un pointeur donc en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QTcpSocket &socket=Client;
    je donne la valeur de Client soit une adresse ce qui correspond à la reference.

    J'ai tout de meme essayer avec ton code mais ça ne change pas

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Une référence n'a rien à voir avec une adresse. Un référence est un alias pour un objet alors qu'un pointeur désigne son adresse... Tu vois bien que c'est différent

    Mon code ne change rien ? La même erreur ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Points : 74
    Points
    74
    Par défaut
    c'est bon. En faite la nouvelle erreur venait d'autre chose.

    Par contre je ne comprend pas pourquoi tu dit que les reference ont rien a voir avec les adresse.Pour moi une reference c'est comme un pointeur.

  10. #10
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Vas donc faire une recherche dans le forum C++, la question a déjà été traitée un certain nombre de fois

    Si tu ne trouves rien, poste dans le forum C++, car ceci n'a plus rien à voir avec Qt

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 174
    Points : 74
    Points
    74
    Par défaut
    oui c'est vrai.

    Merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation latex en une ligne : besoin d'aide!
    Par choinul dans le forum Programmation (La)TeX avancée
    Réponses: 2
    Dernier message: 08/02/2008, 17h26
  2. [Linux] Ecrire une ligne de compilation
    Par mamid1706 dans le forum Linux
    Réponses: 6
    Dernier message: 28/06/2007, 16h45
  3. Réponses: 1
    Dernier message: 14/02/2007, 10h16
  4. Réponses: 20
    Dernier message: 07/02/2007, 11h10
  5. Réponses: 9
    Dernier message: 04/03/2006, 20h36

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