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 :

Probleme lors de l'appel à une méthode


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Probleme lors de l'appel à une méthode
    bonjour,

    J'ai une class voliere et une classe oiseau. dans ma classe voliere j'utilise une méthode pour inserer un oiseau dans la voliere qui prend en parametre une adresse d'oiseau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void insere(Oiseau* adresse);
    Dans mon main je crée un oiseau et une voliere, et je veux insérer un oiseau dans la voliere
    Comment je fais appel à la méthode inserer??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Oiseau O;
    Voliere V(4);
    V.insere(&O);
    ca plante! Pourriez-vous me donner la solution?
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut, et bienvenue sur le forum

    Si la volière va se charger de "détruire" les oiseaux lorsqu'elle est détruite, tu devrais pouvoir t'en sortir avec un code ressemblant à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Voliere V(4);//sans doute 4 places dans la volière ???
    V.insere(new Oiseau(/*parametres éventuels */) );
    ou, avec la méthode la méthode "longue"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Voliere V(4);
    Oiseau *o=new Oiseau(/* parametres éventuels */);
    V.insere(o);
    Mais bon, le terme "sa plante", c'est moyen moyen pour expliquer un problème...

    Il serait peut etre intéressant de nous fournir quelques indices supplémetaires (désolé, ma boule de crystal est en rade ):
    • Le code de la méthode insere
    • l'erreur obtenue, en précisant si c'est à la compilation ou à l'exécution

  3. #3
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Citation Envoyé par doditch77 Voir le message
    bonjour,

    J'ai une class voliere et une classe oiseau. dans ma classe voliere j'utilise une méthode pour inserer un oiseau dans la voliere qui prend en parametre une adresse d'oiseau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void insere(Oiseau* adresse);
    Dans mon main je crée un oiseau et une voliere, et je veux insérer un oiseau dans la voliere
    Comment je fais appel à la méthode insere??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Oiseau O;
    Voliere V(4);
    V.insere(&O);
    ca plante! Pourriez-vous me donner la solution?
    Merci d'avance
    On ne sait même pas comment as-tu codé la fonction insere alors comment veux tu qu'on puisse te répondre.

  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
    bonjour,
    koala01 et Melem vous êtes de mauvaise fois. Fallé juste regarder l'autre post
    http://www.developpez.net/forums/sho...d.php?t=467854

    En plus, je sais pas pourquoi mais son problème ressemble à une prédiction

    Citation Envoyé par Mongaulois Voir le message
    V.insere(&O);
    ca me semble trés louche.... si O est une variable temporaire, tu va avoir plein d'erreur mémoire car tu va pointer sur des zone mémoire que ne seront plus utilisé
    doditch77, tu ne devrait pas disperser tes questions. Si tu les regroupes, tu auras de bien meilleur réponse

    A mon avis ça plante parce que tu stock dans t'as Voliere des pointeurs sur des instances non dynamique, que tu va essayer de détruire, ou utiliser alors qu'elles ont déjà étés détruite.

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    bonjour,
    koala01 et Melem vous êtes de mauvaise fois. Fallé juste regarder l'autre post
    http://www.developpez.net/forums/sho...d.php?t=467854
    Non...

    De deux choses l'une:

    Ou bien, ses deux questions sont liées, et, dans ce cas, ce thread ne sert strictement à rien (car il aurait mieux valu que cette question soit posée sur la continuité de l'autre), ou bien, les deux questions ne sont liées que parce qu'elles ont trait aux meme classes, mais, alors, la regle de "aide nous à t'aider" est de stricte application, et, dans ce cas là, le fait de savoir "ce qui foire" et de pouvoir disposer d'un code minimum compilable est le minimum syndical

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    A koala01 et Melem

    Désolé mais je suis DEBUTANTE. C'est la première fois que j'appelle à l'aide sur un forum, c'est pour ça que ma demande était sans doute maladroite. Ca n'est pas la peine d'être désagréable pour autant.
    Merci quand même, à la prochaine...

  7. #7
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Ce n'est pas de la méchanceté.

    C'est juste qu'il est bon quand tu demande de l'aide sur un forum :
    -de fournir le code qui pose problème(le code en lui même + celui des fonctions appelées s'il y en a)
    -l'erreur que tu obtient (segfault,message du compilo ...)
    -Des information sur tes outils (os,compilo ....)

  8. #8
    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 koala01 Voir le message
    Non...
    c'était une blague

    Citation Envoyé par koala01 Voir le message
    Ou bien, ses deux questions sont liées, et, dans ce cas, ce thread ne sert strictement à rien (car il aurait mieux valu que cette question soit posée sur la continuité de l'autre), ou bien, les deux questions ne sont liées que parce qu'elles ont trait aux meme classes, mais, alors, la regle de "aide nous à t'aider" est de stricte application, et, dans ce cas là, le fait de savoir "ce qui foire" et de pouvoir disposer d'un code minimum compilable est le minimum syndical
    ben c'est un peu des deux a mon avis. mais je pense qu'il(elle) ne sait pas comment demander.

    Citation Envoyé par doditch77 Voir le message
    A koala01 et Melem

    Désolé mais je suis DEBUTANTE. C'est la première fois que j'appelle à l'aide sur un forum, c'est pour ça que ma demande était sans doute maladroite. Ca n'est pas la peine d'être désagréable pour autant.
    Merci quand même, à la prochaine...
    C'est le problème des forum, parfois c'est mal pris... Mais je ne pense pas que c'était méchant. Comme je t'ai dit, comme à mon avis c'est le même problème, évite de faire plusieurs thread. Si tu ne comprend pas une réponse, n'hésite à redemander. Et parfois si tu peut essai de donner plus d'information sur ton problème.

    As tu compris ma réponse de tout à l'heure??

  9. #9
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par doditch77 Voir le message
    A koala01 et Melem

    Désolé mais je suis DEBUTANTE. C'est la première fois que j'appelle à l'aide sur un forum, c'est pour ça que ma demande était sans doute maladroite. Ca n'est pas la peine d'être désagréable pour autant.
    Merci quand même, à la prochaine...
    Je te présente toutes mes excuses si ce que j'ai pu écrire t'a choquée, car telle n'était surement pas mon intention, et je n'avais d'ailleurs pas l'impression d'être désagréable: au pire, j'estime que l'on pourrait me reprocher d'avoir fait de l'humour

    La réponse que j'ai faite à Mongaulois, sur les airs un peu rudes que j'ai pu (éventuellement) utiliser, ne t'était pas directement adressée, et se contentait d'un résumé de quelques principes que l'on essaie d'appliquer, et que voici écrit de manière complète:

    L'ensemble des intervenants (moi y compris, les modérateurs et rédacteurs et les rédacteur ne font pas exception ) sont des personnes qui passent bénévolement leur temps à essayer de résoudre les problèmes des autres.

    Cependant, si tu veux une aide efficace et rapide, le mieux est toujours de fournir l'ensemble des informations qui peuvent nous permettre de répondre (on ne s'en rend souvent compte qu'à l'usage, mais plus de 50% de la réponse se trouve souvent dans la question )

    Cela signifie que des termes tels que "ca marche pas" (sans dire ce qui ne fonctionne pas) "ca plante" (sans dire ce qui plante), "j'ai un bug", et autres expressions "générales" sont... beaucoup trop générale pour permettre aux gens d'apporter une aide efficace.

    Le premier conseil que l'on peut donc donner est
    Citation Envoyé par La sagesse populaire
    Aide nous à t'aider
    et, le chemin le plus sur pour nous aider à t'aider, c'est de nous fournir le maximum d'informations utiles, à savoir:
    • Le code minimum compilable qui permet de reproduire le problème (penses à l'entourer des balises [ CODE ]: le "#" en haut du formulaire ), ce qui comprend généralement la déclaration de la (des) classe(s) utilisées, et au minimum:
      • les membres qui nous sont utiles pour situer le problème
      • les méthodes qui sont utilisées pour faire apparaitre le problème
      • le code des fonctions "libres" (qui ne sont pas méthodes de classe) que tu as créées et qui interviennent
    • les messages émanant du compilateur ou
    • les messages d'erreur obtenu à l'exécution
    • toute information "utile" pour mettre tout cela en oeuvre (option de compilation éventuelles, bibliothèques utilisées, éventuellement le "cas qui plante" si une partie s'effectue sans problème, ...)

    D'un autre côté, il faut bien comprendre que Developpez.com est un site extrèmement visité, et que de très nombreuses interventions ont lieu sur le forum...

    Il faut donc ne pas estimer le fait qu'une partie des informations a été donnée dans une question précédente (même si le sujet est toujours sur la première page) comme une assurance d'avoir fournit toutes les informations qui peuvent être utiles.

    Mieux, même, il est souvent conseillé de regrouper les questions au sein d'un seul et même sujet, et de plus, il est précisé dans les regles que le multipost est interdit.

    Dans le cas qui nous occupe, l'ouverture du thread ici présent a réellement de quoi entrer dans les anales de "ce qu'il ne faut surtout pas faire": aucune information sur "ce qui plante", et, en définitive, multipost...

    Ne vois aucune véléhité d'être agressif ou désagréable dans ce que j'ai écrit: on apprend plus de ses erreurs que de ses réussites, et, ceci n'est que l'occasion qui m'était donnée de te faire apprendre "l'usage idéal" du forum

  10. #10
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    Ah desuite, il s'agit d'une dame, ils redeviennent mous comme des caramels

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par NiamorH Voir le message
    Ah desuite, il s'agit d'une dame, ils redeviennent mous comme des caramels
    Absolument pas, ma réaction aurait été la même vis à vis de n'importe qui...

    Je n'ai jamais aimé blesser inutilement les gens (bien qu'il y en a sur qui cela soulage ) et quand, par mégarde ou par mauvaise compréhension, il se fait que mes écrits peuvent choquer, je trouve parfaitement normal de présenter des excuses

    Mais bon, ce thread commence à partir en "eau de boudin", et, dés lors, si l'on essayait de se recentrer sur le problème de doditch

    Et donc, chere dotich, bien qu'un lien soit évident avec un autre thread, s'il était possible de fournir plus de renseignement, ce serait bien élégant de ta part

Discussions similaires

  1. Réponses: 16
    Dernier message: 22/07/2011, 14h12
  2. probleme lors de l'appel d'une action
    Par riadhhwajdii dans le forum JSF
    Réponses: 3
    Dernier message: 21/08/2009, 15h02
  3. Probleme lors de l'appel à une fonction
    Par jonnyboy dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 08/08/2007, 09h15
  4. Appeler une méthode lors d'un ENTER avec javascript
    Par shirya dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/01/2007, 21h32
  5. [Language]problème lors de l'appel d'une méthode
    Par Samanta dans le forum Langage
    Réponses: 6
    Dernier message: 18/05/2005, 13h03

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