Erreur en c++
Résolu
javast
Messages postés
88
Statut
Membre
-
javast Messages postés 88 Statut Membre -
javast Messages postés 88 Statut Membre -
Bonjour,
J'ai une erreur que j'arrive pas à comprendre voilà mon code
main.cpp: In function `int main()':
main.cpp:11: error: no matching function for call to `B::inclut(A*)'
B.hpp:11: note: candidates are: bool B::inclut(A&) const
B.hpp
class B
{
public:
bool inclut(A&) const ;
private:
int x;
A y;
};
B.cpp
bool B::inclut(A& p) const
{
float a=abs(p.getX()-y.getX());
float b=abs(p.getY()-y.getY());
return (sqrt(x*x+y*y)<=x);
}
le compilateur fait comme si je fais appel à une fonction B::inclut(A*) alors que ma fonction reçoit une réference B::inclut(A&)
J'ai une erreur que j'arrive pas à comprendre voilà mon code
main.cpp: In function `int main()':
main.cpp:11: error: no matching function for call to `B::inclut(A*)'
B.hpp:11: note: candidates are: bool B::inclut(A&) const
B.hpp
class B
{
public:
bool inclut(A&) const ;
private:
int x;
A y;
};
B.cpp
bool B::inclut(A& p) const
{
float a=abs(p.getX()-y.getX());
float b=abs(p.getY()-y.getY());
return (sqrt(x*x+y*y)<=x);
}
le compilateur fait comme si je fais appel à une fonction B::inclut(A*) alors que ma fonction reçoit une réference B::inclut(A&)
2 réponses
-
Salut j'ai pas bcp regardé mais essaie de mettre const devant le type entre les parantheses.
Sinon fait nous voir main.cpp le parametre que tu passe en réference! -
J'ai essayé ce que tu m'a dis, mais ça marche toujours pas :(
voilà le main.cpp
int main()
{
A a(4,5);
B c(5,a);
A p(2,3);
if ((&c)->inclut(&p))
{
cout << "c inclut l objet p" << endl;
}