Surcharge des fonctions basées sur le type de retour en Java et C
Question :
Pourquoi n'est-il pas possible de surcharger une fonction uniquement sur la base d'un changement de type de retour en Java ou C ? Cette fonctionnalité sera-t-elle disponible dans les futures versions de Java ?
Réponse :
Java
Surcharge de fonctions basée uniquement sur le type de retour n'est pas possible en Java ou C . La raison derrière cela est que la valeur de retour à elle seule ne fournit pas suffisamment d'informations au compilateur pour déterminer quelle fonction appeler. Par exemple :
<code class="java">public int foo() {...} public float foo() {..} ... foo(); // which one?</code>
C
De même, en C , il n'est pas possible de surcharger des fonctions en utilisant uniquement le type de retour. Cette contrainte garantit que le compilateur peut identifier sans ambiguïté la fonction prévue pendant le processus de compilation.
Cette restriction permet d'éviter toute ambiguïté et les erreurs potentielles dans le code, car le compilateur peut s'appuyer sur un ensemble cohérent de règles pour la surcharge de fonctions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!