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 :

attribut private d'une classe


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut attribut private d'une classe
    Bizarre bizarre...

    J'ai constaté depuis quelques jours une réticence des fonctions membres à reconnaitre les attributs privés de la classe en question.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void inverseWarp()
    {
    	champ_deformation(0,0,0) = - champ_deformation(0,0,0);
    }
    warping.cpp(198) : error C3861: 'champ_deformation': identificateur introuvable, même avec une recherche qui dépend de l'argument
    Alors que champ_deformation et inverseWarp() sont tous deux des membre privés de la classe ???
    Le compilo devrait le reconnaitre !

    Merci à vous pour vos réponses.

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 66
    Par défaut
    pourrais tu nous donner ta classe stp

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Ta fonction est-elle définie dans la définition de classe ou dans un fichier source ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Citation Envoyé par flipper203
    pourrais tu nous donner ta classe stp
    ok

    Code : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    #ifndef WARPING_H
    #define WARPING_H
     
    #define LARGEUR_ECRAN cimg_library::CImgDisplay::screen_dimx()
    #define HAUTEUR_ECRAN cimg_library::CImgDisplay::screen_dimy()
     
    #include "CImg.h"
    #include <iostream>
    #include <vector>
    #include <list>
    #include <algorithm>
    #include <string>
     
    #include "PDC.h"
     
    //class PDC;
     
     
    class Warping
    {
    public:
    	Warping(const int n_choc, std::string nom_cfp, cimg_library::CImg <unsigned short>, cimg_library::CImg <unsigned short>);
    	Warping(std::string nom_fichier, cimg_library::CImg <unsigned short>, cimg_library::CImg <unsigned short>);
    	~Warping();
     
        void lancerWarping();
    	cimg_library::CImg<float> moyenne(const cimg_library::CImg<unsigned short>& src, int valeur);
    	cimg_library::CImg<unsigned short> getImageWarped() const;
    	void setNombrePointsInterpol(int);
     
    	void ajusterVisibleEtIR();
     
    	void ajouterPDCDepart(int a, int b);
    	void ajouterPDCArrivee(int a, int b);
    	void supprimerPDCDepart(int x, int y);
    	void supprimerPDCArrivee(int x, int y);
     
    	void affichageDepart();
    	void affichageArrivee();
     
    	cimg_library::CImg <unsigned short> warp(const cimg_library::CImg <unsigned short>& , const cimg_library::CImg <> &);
     
     
    private:
    	PDC pdc;
     
    	float coeff_mul;
     
    	cimg_library::CImg <unsigned short> image_visible;
    	cimg_library::CImg <unsigned short> image_IR;
    	cimg_library::CImg <> champ_deformation;
    	cimg_library::CImg <unsigned short> image_IR_warped; 
     
    	int nbpoints_interpol; // nombre de points pour l'interpolation
    	std::vector< std::pair <int, int> > pointschoisis; //points gardés pour l'interpolation
     
    	void nProchePoints(const std::pair <int, int>& H, const std::vector< std::pair <int, int> > &depart, int n);
    	std::pair<float, float> pointInterpolation(const std::pair <int, int>& H, const std::vector <std::pair <int, int> > &depart);
    	bool test(const std::vector < std::pair <int, int> > &depart, const std::pair <int, int>& point);
    	void interpolationLin();
    	float dist(const std::pair <int, int>& H, const std::pair <int, int>& point);
     
    	void inverseWarp();
     
    	cimg_library::CImgDisplay depart_disp;
    	cimg_library::CImgDisplay arrivee_disp;
    };
     
    #endif

    Citation Envoyé par Médinoc
    Ta fonction est-elle définie dans la définition de classe ou dans un fichier source ?
    Dans le fichier source. J'ai rien défini en "in line".

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    dans ce cas, c'est normal que ça foire.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Citation Envoyé par Médinoc
    dans ce cas, c'est normal que ça foire.
    Ha bon
    En deux mots, tu peux me dire pourquoi ?
    C'est toujours instructif de se planter!

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void Warping::inverseWarp()
    {
    	champ_deformation(0,0,0) = - champ_deformation(0,0,0);
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Oh
    Je suis désolé pour le dérangement, j'ai pas vu...

    On va dire que c'est la fatigue, même un lundi...

    Merci Médinoc

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

Discussions similaires

  1. changer l'attribut etat dans une class
    Par amen_1919 dans le forum W4 Express
    Réponses: 16
    Dernier message: 07/05/2008, 13h03
  2. Réponses: 4
    Dernier message: 16/03/2008, 18h06
  3. Réponses: 2
    Dernier message: 08/02/2007, 11h39
  4. Attributs static d'une classe
    Par Edouard Kaiser dans le forum C++
    Réponses: 15
    Dernier message: 04/04/2006, 00h17
  5. attribut partagé d'une classe
    Par tanjonaravelson dans le forum Général Python
    Réponses: 3
    Dernier message: 27/09/2005, 16h26

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