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

Langage C++ Discussion :

Probleme avec push_back()


Sujet :

Langage C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut Probleme avec push_back()
    Bonsoir,
    Il y a une erreur que je comprends pas et j'aimerais un coups de main.
    Je fais un programme avec la bibliothèque openCv sous Visual C++ 2008.
    Voici la partie du code où il y a l'erreur :
    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
     
                   /*........*/
     
                   //vector<Point2f> points_contour
                  //vector<Point2f> points_centres 
     
                   float rayon_c=r/pas_rayon;
    	       Point2f point=points_contours[i];
    		if(pow(point.x-a,2)+pow(point.x-b,2)==pow(rayon_c,2))
    		{
    			accum[a][b][r]++;
    			points_centres.push_back(point);//c'est ici l'erreur
    			rayons.push_back(rayon_c);
    		}
     
                   /*........*/
    Et j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                    error C2662: 'std::vector<_Ty>::push_back'*: impossible de convertir un pointeur 'this' de 'const std::vector<_Ty>' en 'std::vector<_Ty> &'

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Par défaut
    Salut saladin04,

    Le code que tu nous mets, il ne serait pas dans une méthode "const" ? Ca pourrait expliquer - si points_contour est un membre de ta classe - pourquoi le compilateur ne veut pas modifier ce membre en faisant le push_back.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bienvenu,
    Effectivement, le code d'erreur que tu présentes semble indiquer que tu essaies de modifier une variable membre dans une fonction constante.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut
    Bonjour,
    Non justement je n'utilise pas de methodes constantes, c'est pour ça que je ne comprends pas l'erreur.
    Voici la classe de ma methode :

    // L'ERREUR SE TROUVE DANS LA METHODE HoughtCicle, denrnier methode.

    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
     
        #pragma once
    #pragma warning(disable:4996)
    #include <iostream>
    #include <vector>
    #include <string>
    #include <math.h>
     
    #include <Opencv/cvaux.h>
    #include <Opencv/cxcore.h>
    #include <Opencv/highgui.h>
    #include <Opencv/cv.h>
     
    struct Cercle{
    	cv::Point2f origine;
    	float rayon;
    };
     
    class Detect{
     
    private:
     
    	cv::Mat mat_img;// Matrice de image
    	cv::Mat mat_img_gris;
    	cv::Mat mat_contour;
     
    std::vector<cv::Point2f> points_contours;// Tableau contenant tous les points de contour
    std::vector<cv::Point2f> points_centres;// Tableau contenant tous les centres des cercles trouvés
    //std::vector<Cercle> cercles;//Tableau contenant les rayons de tous les cercles trouvés
    std::vector<cv::Point2f> points_centres_c;
    std::vector<float> rayons; 
     
    public:
    		Detect();
    		Detect(std::string nom_img);
    		~Detect();
     
    //Les accesseurs
    		const cv::Mat& getContour_img() const ;
     
    		const cv::Mat& getImg_gris() const ;
     
    		const cv::Mat& getImage() const ;
     
    		int getColone() const;
     
    		int getLigne() const;
     
           //********** Les methodes  *********
     
    	// ***** Les points de contours *****
    	void Init_Pts_Contour();
     
     
    	// ***** Hought ******
    	void HoughtCircle(float rayon_max,int pas_rayon,int poids_c) const;
    	};//c'est dans cette methode que j'ai l'erreu

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut
    Zut,
    En fait en envoyant le mssage j'ai vu mon hought était constante, je l'avais pas vu avant....
    Désolé pour le derangement.....

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

Discussions similaires

  1. Probleme avec std::vector push_back
    Par raphchar dans le forum C++
    Réponses: 4
    Dernier message: 19/12/2011, 14h18
  2. probleme avec push_back etc
    Par popy1970 dans le forum C++
    Réponses: 4
    Dernier message: 18/01/2007, 14h30
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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