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 :

[Débutant] Utilisation de struct


Sujet :

C++

  1. #1
    BNS
    BNS est déconnecté
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Par défaut [Débutant] Utilisation de struct
    Bonjour à tous

    Je veux faire un truc tout bete: créer une structure "Pixel" qui va contenir 3 informations: les coordonnées x et y, ainsi que le niveau de gris de ce pixel.
    Pour cela je pensais faire simplement une structure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct MyPixel
    {
         int x,y;
         int grey;
    }
    MyPixel;
    Ensuite je souhaiteraius utiliser cette structure, je pensais le faire ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MyPixel essai;
    essai.x = 10;
    essai.y = 13;
    essai.grey = 255;
    Mais ca ne marche pas: il ne reconnait pas ma structure et donc ne me permet pas de travailler avec mon pixel "essai"!
    Que dois-je faire pour que ca marche ?

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    où est déclaré ta strcuture? Tu inclus bien ce fichier dans le fichier qui l'utilise?

  3. #3
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut Re: [Débutant] Utilisation de typedef struct
    salut

    en C++ on écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct MyPixel
    {
         int x,y;
         int grey;
    };
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class MyPixel
    {
       public:
         int x,y;
         int grey;
    };
    et vérifie bien qu'il y a les bons include

  4. #4
    Membre émérite
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Par défaut
    Si tu déclares ta structure avant la fonction main, y'a aucun problème, je viens de tester

  5. #5
    BNS
    BNS est déconnecté
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Par défaut
    Merci pour vos réponses! Effectivement, si je declare ma structure avant le "Main", ca marche... mais moi je veux utiliser la structure dans un autre fichier source... Et là ca ne marche pas! Mes include sont pourtant les memes que pour le fichier source ou est inclus "Main"!...
    Je ne comprend pas... C'est vraiment un truc qui devrait etre simple et je coince la dessus...

  6. #6
    BNS
    BNS est déconnecté
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Par défaut
    En plus si je met tout dans un meme fichier source ca devrait marcher nan?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct MyPixel
    {
    	int x,y;
    	int grey;
    };
     
    MyPixel essai;
    essai.x = 10
    Il y a un include special qui m'echappe ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Par défaut
    Tu met bien la déclaration de ta structure dans un en-tête ?

    (En fait, tu met quoi dans quel fichier ? ^^)

  8. #8
    BNS
    BNS est déconnecté
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Par défaut
    J'ai essayé plusieurs trucs:

    1. tout dans un meme fichier source comme plus haut

    2. Separation en-tete/fichier source:

    fichier.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    struct MyPixel
    {
         int x,y;
         int grey;
    };
    fichier.cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include "fichier.h"
     
    MyPixel essai;
    essai.x = 10;
    essai.y = 13;
    essay.grey=200;

  9. #9
    Membre émérite
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Par défaut
    Essaie ça (mais c'est du C tout ça ) :

    header.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /* HEADER.H */
     
    #ifndef MYPIX
    #define MYPIX
     
    typedef struct MyPixel
    {
        int x, y;
        int grey;
    } MyPixel;
     
    #endif
    Maintenant chaque fichier source qui doit utiliser ta structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include "header.h"
    /* Autres entêtes */
     
    int main()
    {
        MyPixel point;
     
        point.x = 10;
        point.y = 13;
        point.grey = 255;
     
        return 0;
    }

Discussions similaires

  1. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  2. Réponses: 19
    Dernier message: 28/04/2005, 15h36
  3. [Débutant]Utilisation de swing
    Par OtI$ dans le forum Débuter
    Réponses: 10
    Dernier message: 01/12/2004, 21h27
  4. [Débutant] Utilisation du mot clé ASSERT
    Par analysiz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2004, 11h43
  5. [Débutant] Utilisation de FOP - Register Fonts with FOP
    Par Johnbob dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 31/01/2004, 00h27

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