Maison > Java > javaDidacticiel > le corps du texte

Pourquoi les fonctions ne peuvent-elles pas être surchargées uniquement sur la base des types de retour en Java et C ?

Linda Hamilton
Libérer: 2024-10-30 08:17:02
original
290 Les gens l'ont consulté

Why Can't Functions Be Overloaded Based Solely on Return Types in Java and C  ?

Ambiguïté dans la surcharge de fonctions avec des types de retour variables

Pourquoi les fonctions ne peuvent-elles pas être surchargées uniquement en fonction des types de retour en Java ?

En Java, surcharger une fonction nécessite de modifier la liste des paramètres, pas seulement le type de retour. En effet, l'utilisation du type de retour seul ne suffit pas au compilateur pour lever l'ambiguïté sur la fonction à exécuter. Prenons l'exemple suivant :

<code class="java">public int foo() {...}
public float foo() {..}</code>
Copier après la connexion

Si le code appelle foo() sans spécifier de paramètres, le compilateur ne peut pas déterminer quelle fonction appeler. Une surcharge avec différents types de retour conduirait à une telle ambiguïté.

Est-ce possible en C ?

Non, la surcharge de fonctions avec différents types de retour n'est pas possible en C . C suit également une approche similaire à Java, où la surcharge nécessite des variations dans la liste des paramètres.

Raison d'être de la restriction

La raison de cette restriction est de garantir une surcharge de fonctions prévisible. En s'appuyant uniquement sur le type de retour, le compilateur serait obligé de deviner la fonction prévue, ce qui pourrait entraîner des erreurs ou un comportement inattendu.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal