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

Langage C++ Discussion :

Request member non-class type… C++


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Par défaut Request member non-class type… C++
    Bonjour,

    Je suis étudiante et je dois faire un petit programme console en cpp.
    C'est une question toute bête mais je tourne en rond depuis une bonne heure.

    Dans une partie de mon main :

    cout<<"Ajout d'un navire"<<endl;
    navire* monNavire = new navire();
    monNavire.ajouterNavire();
    Dans le .cpp:
    //Constructeur
    navire::navire(){}

    void navire::ajouterNavire(){
    ...
    }

    Mon erreur est : "error: request for member 'ajouterNavire' in 'monNavire', which is of non-class member"
    Je suppose que c'est un oubli tout simple, mais je ne vois vraiment pas mon erreur.
    Quelqu'un aura des idées?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    On peut voir ta définition de classe ?

    --EDIT--

    http://cpp.developpez.com/faq/cpp/?p..._list_list_fct

  3. #3
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    monNavire est un pointeur donc tu dois utiliser l'opérateur "->" pour accéder aux méthodes, et données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monNavire->ajouterNavire();

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 68
    Par défaut
    Bonjour,

    je trouve curieux d'avoir une méthode appelé "ajouterNavire" dans une classe qui s'appel "navire".

    Est ce qu'il ne serait pas plus judicieux de renommer ta classe 'navire' et 'flotte' afin d'améliorer la lisibilité du code (et donc facilité la résolution des problèmes) ?

    Cordialement.

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut
    Citation Envoyé par gallima Voir le message
    Bonjour,

    je trouve curieux d'avoir une méthode appelé "ajouterNavire" dans une classe qui s'appel "navire".

    Est ce qu'il ne serait pas plus judicieux de renommer ta classe 'navire' et 'flotte' afin d'améliorer la lisibilité du code (et donc facilité la résolution des problèmes) ?

    Cordialement.
    Ou, si la responsabilité de la classe navire est bel et bien celle d'un navire, de créer une classe flotte qui s'occupera de gérer les différents navires et qui, elle, aurait la fonction ajouterNavire

    Ce serait en effet des plus judicieux
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Hors mis les problèmes de conception, pour le problème de compilation, il est possible que ce soit lié à la portée de la méthode addNavire.

    Est-elle bien déclarée dans la partie public de la classe ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/02/2013, 16h18
  2. Réponses: 2
    Dernier message: 17/02/2013, 20h59
  3. Réponses: 29
    Dernier message: 23/08/2010, 09h24
  4. Problème:Erreur 'which is of non-class type
    Par abzal dans le forum Débuter
    Réponses: 9
    Dernier message: 28/11/2008, 15h54
  5. Erreur 'which is of non-class type' ?
    Par jahmanzaar dans le forum Débuter
    Réponses: 7
    Dernier message: 15/10/2008, 22h53

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