Cannot call member function without object

attia.iheb.pro -  
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un probleme cannot call member function 'int data::lire_data(data&)' without object .Pouvez vous m'aidez ... Merci d'avance :)

class data
{
private:
 int cle;
public:
 void set_data_cle(int k)
 {
  cle=k;
 }
 int get_data_cle()
 {
  return (cle);
 }
 int lire_data(data &d)
 {
                           d.cle=cle;
  if (d.cle==-1)
   return 0 ;
  return 1;
 }

................................

data::lire_data(p);

1 réponse

  1. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
     
    Bonjour
    Je sais pas ce que ton code fait exactement (d'autant plus en a pas certaines informations) mais il me semble que ton erreur vient de l'utilisation de l'objet que tu as créé, quand tu décaler ton objet de cette façon
     data d; 

    tu accède comme ceci
    d.Lire_data(/* argument*/);
    ,
    dans le cas contraire c'est-à-dire avec un
    new
     data *ptr_D = new data(); 

    tu procèdes comme ça
     ptr_D->Lire_data(/* argument*/);
    notion (pile & tas).

    #include <iostream>
    
    /**
    * Ta classe
    **/
    class data
    {
     private:
       int cle;  //variable clef
     public:
       void set_data_cle(int k){
         this->cle = k;
       }
       
       //Getters
       int get_data_cle(void){
         return (this->cle);
       }
       
       //Lire Data
               int lire_data(data &d){
                            d.cle = this->cle;
                            return ( (d.cle == (-1) ) ? 0 : 1);
               }
    };
    
    /**
     * Fonction principale
     **/
    int main(void) {
     
     data p;
     
     if( 0 == (p.lire_data(p)) )
      std::cerr << "NULL" << std::endl;
     std::cout << "OK"<< std::endl;
     
     return (0);
    }
    

    à bientôt

    Toute connaissance est une réponse à une question.
    0