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

Arduino Discussion :

Fonction retournant un tableau de taille variable


Sujet :

Arduino

  1. #1
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut Fonction retournant un tableau de taille variable


    Dans mon code j'ai construit une classe représentant un message. Elle contient deux champs le type de message contenu dans un byte. Et d'un champ données qui est un tableau de byte de taille indéfini (avant construction de l'objet).

    Message.h :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Message {
        public:
            Message(byte type, byte data[]);
            byte getType();
            ???? getData();
        private:
            byte _type;
            byte _data[];
    };

    Ma question est : Comment déclarer ma fonction getData() pour qu'elle me retourne le tableau data ?

    Message.cpp :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include "Message.h"
    
    /*
    Class representing a message
    */
    Message :: Message(byte type, byte data[]){
    	_type = type;
    	_data = data;
    }
    
    byte Message :: getType() {
    	return _type;
    }
    
    ???? Message :: getData() {
    	return _data;
    }

    J'ai essayé les trois syntaxe suivantes mais aucune n'est bonne.
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    byte* getData();
    byte[] getData();
    byte getData();

    J'ai besoin dans mon sketch de pouvoir faire byte données[] = msg.getData();

  2. #2
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut
    Bon, je suis allé prendre un cours de programmation Arduino et j'ai trouvé

    Dans mon .h j'ai byte* getData();.
    Et dans mon sketch j'ai byte* données = msg.getData();

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Bien penser à ne pas retourner l'adresse d'une variable locale (il faut donc utiliser new ou malloc) puis penser à libérer la mémoire une fois que le message est consommé (avec delete ou free).

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

Discussions similaires

  1. Fonction retournant tableau de taille variable
    Par sfiliste dans le forum Fortran
    Réponses: 18
    Dernier message: 01/09/2010, 22h03
  2. Fonction qui retourne un tableau ou 2 variables ? possible ou non
    Par jiojio dans le forum VB 6 et antérieur
    Réponses: 45
    Dernier message: 05/06/2006, 15h00
  3. [TP] Tableau de taille variable
    Par Ripley dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 30/01/2006, 15h36
  4. PB avec fonction retournant un tableau
    Par T-B dans le forum Langage
    Réponses: 2
    Dernier message: 27/01/2006, 22h01
  5. fonction retournant un tableau
    Par Jero13 dans le forum C
    Réponses: 7
    Dernier message: 22/11/2005, 11h14

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