voidadd(Point&p,intx,inty);// ou void add(Point* p, int x, int y);voidsquare_length(constPoint&p);// ou void square_length(Point* const p);
La fonction add de la structure Point devrait définir la fonction add d'après quelque part à l'étape de la compilation et général une erreur.
Si le niveau d'accès public/privé est un problème suffit d'appliquer la possibilité d'appel uniforme aux structures (et faire en sortent qu'elles ne puissent plus contenir de membres privés), au contraire des classes.
Ajouter des méthodes à une structure, ça peut poser beaucoup de solution. :D
[^] # Re: Syntaxe d'appel uniforme
Posté par Muchacho . En réponse au journal C++17 est sur les rails. Évalué à 1.
Pourquoi il ne pourrait pas y avoir une simple erreur de compilo informant qu'il y a ambigüité ? Et qu'une fonction a été "redéfinie" ?
En considérant:
et
La fonction add de la structure Point devrait définir la fonction add d'après quelque part à l'étape de la compilation et général une erreur.
Si le niveau d'accès public/privé est un problème suffit d'appliquer la possibilité d'appel uniforme aux structures (et faire en sortent qu'elles ne puissent plus contenir de membres privés), au contraire des classes.
Ajouter des méthodes à une structure, ça peut poser beaucoup de solution. :D