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 :

Problème : no match for operator


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut Problème : no match for operator
    Voici le code existant :
    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
     
    // sauvegarde personnel
    fstream fichier("E:\\Kevin\\Cours\\TSI2\\PTI\\PTI_3\\personnel.txt",ios::trunc);
                             if (!fichier.fail())
                                                  {
                                                    fichier << Ctab[i].getMat() << " "
                                                            << Ctab[i].getNom() << " "
                                                            << Ctab[i].getTaux() << " "
                                                            << Ctab[i].getNbHeures() << " " 
                                                            << Ctab[i].getSalaire() << "\n";                                              
                                                  }
                                                  else
                                                  {
                                                    cout << " Problème fichier personnel.txt ";
                                                  }
    et voici l'erreur :
    178 E:\Kevin\Cours\TSI2\PTI\PTI_3\PTI.cpp no match for 'operator<<' in 'fichier << Cpersonnel::getMat()()'
    Je veux juste enregistrer mes données du tableau d'objet dans le fichier textes.

  2. #2
    boli_971
    Invité(e)
    Par défaut
    Salut,

    L'opérateur << existe dans std::fstream (j'ai répondu un peu vite ), c'est effectivement le type à droite de l'opérateur qui ne surcharge pas l'opérateur <<.
    http://cpp.developpez.com/faq/cpp/?page=fichiers
    Dernière modification par boli_971 ; 20/04/2009 à 18h05.

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Ce que dit boli_971 est faux. fstream hérite de ostream.

    Le problème vient probablement plutôt que le type retourné par getMat ne surcharge pas l'operator<<.

  4. #4
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    En effet.
    Au passage, utilise plutôt std::ofstream que ofstream, même si c'est plus long à écrire. On comprend mieux et tu éviteras les conflits...

  5. #5
    Membre averti Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Points : 302
    Points
    302
    Par défaut
    Hello,
    Il me semble que l'operateur << est bien defini dans std::fstream. Par contre, que renvoie ta fonction getMat()?

Discussions similaires

  1. Problème compilateur no match for error in tab[i][j]=1
    Par Cricri63 dans le forum Débuter
    Réponses: 2
    Dernier message: 13/01/2013, 19h28
  2. no match for operator=
    Par ben.p dans le forum Débuter
    Réponses: 4
    Dernier message: 18/09/2011, 21h35
  3. error: no match for 'operator='
    Par MastahPommeh dans le forum Débuter
    Réponses: 6
    Dernier message: 06/04/2011, 17h22
  4. Réponses: 6
    Dernier message: 19/10/2009, 12h10
  5. [erreur] matching Java operation for WSDD
    Par biozaxx dans le forum Services Web
    Réponses: 3
    Dernier message: 30/05/2008, 15h28

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