Dévoilement du mystère derrière l'erreur « Type 'void' non autorisé ici"
La rencontre de l'erreur « Type vide non autorisé ici » peut être déroutant. Pour comprendre sa signification, examinons son contexte.
Considérez l'extrait de code ci-dessous :
class obj { public static void printPoint(Point p) { System.out.println("(" + p.x + ", " + p.y + ")"); } public static void main(String[] arg) { Point blank = new Point(3, 4); // This line generates the error System.out.println(printPoint(blank)); } }
Lorsque vous essayez de compiler ce code, vous rencontrez le message d'erreur :
obj.java:12: 'void' type not allowed here System.out.println(printPoint(blank)); ^ 1 error
Qu'est-ce qui ne va pas ?
La racine de l'erreur réside dans la méthode printPoint. Sa déclaration précise qu'il renvoie void, ce qui signifie qu'il ne renvoie aucune valeur. Par conséquent, la tentative de la méthode principale d'imprimer la valeur de retour de printPoint (qui est void) entraîne l'erreur « type vide non autorisé ici ».
Que signifie le message d'erreur ?
Le message d'erreur indique clairement que le type de retour d'une méthode détermine ce qui peut être fait avec sa valeur de retour. Dans ce cas, puisque la méthode printPoint renvoie void, sa valeur de retour ne peut pas être imprimée à l'aide de System.out.println().
La solution
Pour remédier à ce problème , vous devez modifier votre code pour éliminer l'impression inutile de la valeur de retour printPoint. Au lieu de cela, vous devez appeler directement la méthode printPoint comme suit :
printPoint(blank);
Cela éliminera l'incompatibilité de type et permettra au code de se compiler et de s'exécuter correctement.
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!