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 :

[variadic] passer un objet en argument variable


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Par d�faut [variadic] passer un objet en argument variable
    Bonjour � tous,

    Je voudrais cr�er une fonction renvoie un polygone (de type POLYGONE) prenant en argument le nombre de sommets et les coordonnees de ces sommets. Ces coordonnees sont en r�alit� des objets que j'ai cr��s (class COORDONNEES{protected:double x,y,z;public: ... }.
    J'ai donc d�clar� ma fonction comme ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    friend POLYGONE creerPolygone(unsigned int nombre_sommets, ...);
    Mais mon compilateur (gcc) me renvoie le warning suivant sur la ligne d'appel de la fonction :

    warning: cannot pass objects of non-POD type `class COORDONNEES' through `...'; call will abort at runtime
    et ce warning :

    warning: cannot receive objects of non-POD type `class COORDONNEES' through `...'; call will abort at runtime
    sur la d�claration de la fonction.

    J'en d�duis donc que les variadics n'acceptent que les type standards en argument.
    Existe-t-il malgr� tout une solution pour passer en argument des types personalis�s ou dois-je absolument passer les coordonnees de mes sommets sous forme de double. (en �crivant : creerPolygone(4,0,0,0,1,0,0,1,0,1,0,0,1) pour cr�er un carr�!

    Merci d'avance!

    Spartan03

  2. #2
    Membre exp�riment�
    Profil pro
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    237
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par d�faut
    Tout d'abord qu'est ce que signifie "variadic" ?

    Ensuite, tu pourrais passer un Tableau de coordonn�es (de double).

  3. #3
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    L'ellipse (...) en C++ est � �viter, �a ne fonctionnera que tr�s mal avec des objets non POD.

    L'approche plus safe et plus sympa est le cha�nage d'appels
    http://c.developpez.com/faq/cpp/?pag...hainage_appels

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Par d�faut
    Ok, je pense que je vais utiliser le chainage d'appel. J'aurai aussi pu passer en argument un tableau dynamique de COORDONNEES que j'aurai ensuite d�truit dans la fonction!
    Merci pour vos suggestions!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Passer un objet en argument
    Par java-mobile dans le forum D�buter
    R�ponses: 19
    Dernier message: 17/09/2008, 10h41
  2. R�ponses: 1
    Dernier message: 28/03/2008, 22h34
  3. R�ponses: 4
    Dernier message: 04/01/2008, 21h19
  4. Passer un objet en argument d'une servlet
    Par julien1311 dans le forum Servlets/JSP
    R�ponses: 16
    Dernier message: 06/08/2007, 16h30
  5. [POO] Passer un objet HTML en argument.
    Par defacta dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 17/12/2004, 10h44

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