problème avec 'operator type();' : ambiguité

problème avec 'operator type();' : ambiguité - C++ - Programmation

Marsh Posté le 26-10-2003 à 17:22:10    

Code :
  1. struct Class1
  2. {
  3.   operator int();
  4.   operator string();
  5. };
  6. struct Class2
  7. {
  8.   void membre(int i);
  9.   void membre(string s);
  10. };
  11. // dans le code :
  12. Class1 c1;
  13. Class2 c2;
  14. c2.membre(c1);


 
evidemment le compilo aime pas l'ambiguité de c2.membre(c1);
je me demandais s'il y avait une facon de définir une "priorité" en cas d'ambiguité on si on est obligé de faire c2.membre((int)c1); ou c2.membre((string)c1); ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 26-10-2003 à 17:22:10   

Reply

Marsh Posté le 26-10-2003 à 17:31:39    

Nan, il faut résoudre l'ambiguïté à la main a chaque fois qu'elle se présente. Eventuellement, tu crées une 3ème fonction qui prend directement un Class1 en paramètre.

Reply

Marsh Posté le 26-10-2003 à 17:36:00    

bien, merci :jap:


---------------
-( BlackGoddess )-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed