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 :

fonction renvoie vecteur ou null


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Technicien, en informatique
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien, en informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Par défaut fonction renvoie vecteur ou null
    Bonjour,

    Voici ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    vector<TypeVecteur*> maClass::renvoieVectouNull(){
        //si vecteur vide renvoie null
        if(){
           return NULL;
        }else{
           return monVecteur;
        }
    }
    ma class:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class maClass{
        protected:
             vector<Typevecteur*> monVecteur;
        public:
             maClass();
             ~maClass();
    };
     
    maClass::maClass(){
     
    }

    Ce que je voudrais, c'est si mon vecteur est vide alors ma fonction renvoie null sinon elle renvoie mon vecteur, le problème c'est que j'ai une erreur lors de la compilation à cause du NULL.

    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    C'est normal, NULL et vector n'ont rien en commun(*), tu ne peux par retourner l'un à la place de l'autre.

    Donc, tu as plusieurs possibilités :
    - Retourner un vector vide, si ça a du sens,
    - Retourner un type pouvant contenir soit rien, soit un vector, comme par exemple un boost::optional<vector<TypeVecteur*>>,
    - Retourner un pointeur sur un vecteur (de préférence intelligent, pour ne pas avoir à gérer manuellement la mémoire), par exemple un std::unique_ptr<vector<TypeVecteur*>>.

    La première solution, si applicable, est probablement la plus simple à mettre en œuvre.

    (*) contrairement à un langage comme Java ou C# où tout est pointeur, même si ce fait est caché.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Membre averti
    Profil pro
    Technicien, en informatique
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien, en informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Par défaut
    Merci pour ton aide

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    boost::optional<vector<TypeVecteur*>>
    Merci, je ne connaissais pas !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/04/2007, 16h59
  2. fonction renvoie none
    Par EricStib dans le forum Général Python
    Réponses: 4
    Dernier message: 06/01/2007, 21h18
  3. Fonction SQL Pour valeur nulle
    Par claralavraie dans le forum Oracle
    Réponses: 5
    Dernier message: 04/10/2006, 13h39
  4. jointure externe et renvoi de valeurs NULL
    Par ctobini dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 21/09/2006, 10h57
  5. fonction replace et valeurs null
    Par Oluha dans le forum ASP
    Réponses: 4
    Dernier message: 24/11/2005, 15h55

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