Surdéfinition des opérateurs en c++
Résolu/Fermé
ibtissame_87
Messages postés
102
Date d'inscription
lundi 6 août 2007
Statut
Membre
Dernière intervention
6 janvier 2010
-
25 mai 2008 à 01:27
Mous - 6 févr. 2018 à 12:48
Mous - 6 févr. 2018 à 12:48
A voir également:
- Surdéfinition des opérateurs en c++
- Numero en 0806 quel opérateur - Guide
- Mettre opera en français - Forum Opera
- Enregistrement des conversations téléphoniques par les opérateurs - Forum Matériel & Système
- Ou se trouve le fichier des favoris opera - Forum Opera
- Cette operation a ete annulé en raison de restriction sur cet ordinateur ✓ - Forum Windows
6 réponses
ibtissame_87
Messages postés
102
Date d'inscription
lundi 6 août 2007
Statut
Membre
Dernière intervention
6 janvier 2010
11
23 juin 2008 à 21:51
23 juin 2008 à 21:51
ouuuuuuuuuuuuuuuuuuuuuuch ..... desolée l'erreur consistait bien dans le manque d'un constructeur par défaut et c'était plusque claire en plus .... il fallait juste que je lise l'erreur!!!!!!!
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
25 mai 2008 à 01:34
25 mai 2008 à 01:34
Salut,
Apparemment, ton compilateur te demande un constructeur par défaut (c'est-à-dire un constructeur qui ne prend aucun paramètre...). Il doit en avoir besoin à la ligne 180, regarde donc par là-bas.
Apparemment, ton compilateur te demande un constructeur par défaut (c'est-à-dire un constructeur qui ne prend aucun paramètre...). Il doit en avoir besoin à la ligne 180, regarde donc par là-bas.
tuantu
Messages postés
41
Date d'inscription
dimanche 18 mai 2008
Statut
Membre
Dernière intervention
29 mai 2008
13
25 mai 2008 à 01:37
25 mai 2008 à 01:37
c bizarre, chez moi ça compile ... sauf que j'ai pas la libraire conio.h qui définit la fonction getch()
donc j'ai du virer l'include et la dernière ligne de code
il m'a aussi fait une erreur comme quoi main doit retourner un int
du coup j'ai changé le void main en int main et j'ai rajouté un return(0); à la fin
Ton problème a l'air de venir du fait qu'il trouve pas de constructeur par défaut (çàd sans paramètres)
or ton constructeur associe des valeurs par défaut aux paramètres, donc il pourrait être appelé sans paramètres et jouer le rôle de constructeur par défaut ...
Donc en gros, ça devrait marcher et c pour ça que ça marche chez moi j'imagine ...
Mais pour régler ton problème, j'pense que tu devrais simplement explicitement définir un constructeur par défaut
Vecteur::Vecteur()
{ x=0;y=0}
donc j'ai du virer l'include et la dernière ligne de code
il m'a aussi fait une erreur comme quoi main doit retourner un int
du coup j'ai changé le void main en int main et j'ai rajouté un return(0); à la fin
Ton problème a l'air de venir du fait qu'il trouve pas de constructeur par défaut (çàd sans paramètres)
or ton constructeur associe des valeurs par défaut aux paramètres, donc il pourrait être appelé sans paramètres et jouer le rôle de constructeur par défaut ...
Donc en gros, ça devrait marcher et c pour ça que ça marche chez moi j'imagine ...
Mais pour régler ton problème, j'pense que tu devrais simplement explicitement définir un constructeur par défaut
Vecteur::Vecteur()
{ x=0;y=0}
ibtissame_87
Messages postés
102
Date d'inscription
lundi 6 août 2007
Statut
Membre
Dernière intervention
6 janvier 2010
11
23 juin 2008 à 14:25
23 juin 2008 à 14:25
il est inutile de définir un constructeur par défaut c deja fait au niveau du constructeur déclaré au dessus; n'est ce^pas?
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
23 juin 2008 à 15:36
23 juin 2008 à 15:36
salut,
c'est laquelle la ligne 180?
Mich
c'est laquelle la ligne 180?
Mich
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le probleme est ici
Vecteur::Vecteur(float abs=0, float ord=0)
{
x=abs;
y=ord;
}
tu n'a qu'un seul constructeur par défaut ce lui initialise l'objet vecteur a la valeur (0,0)
ajout un autre constructeur
Vecteur::Vecteur(float abs, float ord)
{
this.x=abs;
this.y=ord;
}
Vecteur::Vecteur(float abs=0, float ord=0)
{
x=abs;
y=ord;
}
tu n'a qu'un seul constructeur par défaut ce lui initialise l'objet vecteur a la valeur (0,0)
ajout un autre constructeur
Vecteur::Vecteur(float abs, float ord)
{
this.x=abs;
this.y=ord;
}
6 févr. 2018 à 12:48