Positionnement de declaration d'une variable au travers de fonctions

Bonjour a tous,
Je suis complètement debutant dans la programmation. Je débute la formation au langage swift.
Les cours sont passionnant et tres bien construit, merci beaucoup.
J’ai cependant une question concernant le positionnement dans le code de la declaration de la variable.

Voici mon Code :

func main() {
print(« Bienvenue dans ce jeu. »)
print(« Choisis une option. »)
fonctionnementDuMenu()
}
func menuJeu() {
print(« Menu »)
print(" 1 - Demmarer le jeu")
print(" 2 - Options du jeu")
print(" 3 - Quitter le jeu")
print(« Choix : »)
choixUtlisateur = Utilisateur.saisirEntier()
}
func fonctionnementDuMenu() {
repeat {
verifSaisie()
if choixUtlisateur == 1 {
print(« Le jeu demarre »)
} else if choixUtlisateur == 2 {
print(« reglages »)
} else if choixUtlisateur == 3 {
print(« Le jeu s’arrete »)
}
} while choixUtlisateur != 3
}
func verifSaisie () {
repeat {
menuJeu()
if choixUtlisateur < 1 || choixUtlisateur > 3 {
print(« Tu t’es trompe recommences »)
}
}
while choixUtlisateur < 1 || choixUtlisateur > 3
}
var choixUtlisateur:Int
main()

Si je met ma declaration de variable autre part que devant la fonction main(). (Par exemple : quand je la mets :

import Foundation
var choixUtlisateur:Int
func main() {

Xcode renvoie ce message :

Variable ‹ choixUtlisateur › used by function definition before being initialized

Je ne comprend pas pourquoi?

Merci d’avance de vos explications.

Salut Chirubeen,

Ta variable choixUtlisateur n’est pas initialisée, il lui faut une valeur par défaut (= 0 par exemple). Si une variable n’est pas initialisée elle n’est pas utilisable. Soit tu lui mets une valeur par défaut au départ, soit il faut utiliser un init quand tu la mets dans une classe.
Bon courage pour l’apprentissage, on est tous passé par là :wink:.

1 « J'aime »

Ah d’accord.
En effet ca change tout.
Merci beaucoup. Ca marche.