Cannot call member function without object
attia.iheb.pro
-
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
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
-
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çondata d;
tu accède comme cecid.Lire_data(/* argument*/);
,
dans le cas contraire c'est-à-dire avec unnew
data *ptr_D = new data();
tu procèdes comme çaptr_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.