Un problème très étrange (difficile à décrire)
Salut.
J'ai une classe Vecteur et une classe Corps
voici les prototypes de leurs constructeurs:
Code:
1 2
| Vecteur(unsigned int nombreComposantes, long double composante=0 );
Corps(const Vecteur &position=Vecteur(2), const Vecteur &vitesse=Vecteur(2), const Vecteur &acceleration=Vecteur(2)); |
Voici un bout de code pour que vous compreniez le problème:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Corps corps1(Vecteur(3), Vecteur(3) , Vecteur(3)); // Pas de problème
unsigned int a =3;
Corps corps2(Vecteur(a), Vecteur(3) , Vecteur(3));//Pas de problème
Corps corps3(Vecteur(a), Vecteur(3) , Vecteur(a));//Pas de problème
Corps corps4(Vecteur(3), Vecteur(a) , Vecteur(a));//Pas de problème
Corps corps5(Vecteur(a), Vecteur(a) , Vecteur(a));//Erreur "redefinition of 'Vecteur a' " WTF ?
Corps corps6(Vecteur(a), Vecteur(a) , Vecteur(3)); //Idem
Vecteur v(a);
Corps corps7(Vecteur(a), Vecteur(a) , v); //Idem
Corps corps(v, v , v); //Pas de problème |
Si on pouvait m'expliquer ce qui se passe parce que là je comprend rien.
Merci !