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 éprouvé 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 : 29
    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
    Points : 1 014
    Points
    1 014
    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();
    "On sera toujours mieux installé assis en 1ère que debout en 2nde", un illustre inconnu


    Avant de poser une question vérifiez si elle n'a pas déjà une réponse dans les cours et tutoriels
    Si votre problème est pensez à marquer la conversation comme telle
    Si un message est utile, pertinent, et/ou vous êtes d'accord avec, pensez à à l'inverse s'il est inutile, faux ou que vous n'êtes pas d'accord, pensez à

  2. #2
    Membre éprouvé 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 : 29
    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
    Points : 1 014
    Points
    1 014
    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();
    "On sera toujours mieux installé assis en 1ère que debout en 2nde", un illustre inconnu


    Avant de poser une question vérifiez si elle n'a pas déjà une réponse dans les cours et tutoriels
    Si votre problème est pensez à marquer la conversation comme telle
    Si un message est utile, pertinent, et/ou vous êtes d'accord avec, pensez à à l'inverse s'il est inutile, faux ou que vous n'êtes pas d'accord, pensez à

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    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