J'ai sorti ... de la fonction main et ça fonctionne, pas d'autres moyens non?
Un principe important de la programmation est l'encapsulation. Il important de limiter la quantité de choses visibles pour empêcher les mauvaises utilisation. En particulier, tout ce qui est défini ou déclaré à l'intérieur une fonction n'est visible que de la fonction. Donc coordonnees étant utilisé ailleurs doit être défini hors de la fonction main(). Une seconde règle en C, c'est que tout se lit du début vers la fin. Donc si on veut utiliser une entité inconnue (ni définie, ni déclarée avant) il y aura erreur. coordonnees doit bien être définie avant sa première utilisation.
Il faut donc faire comme tu l'as fait.
2 commentaires: - c'est pour cette raison que l'on mets des #include de fichier d'entête. Ta définition de la structure coordonnees pourrait donc aussi être placée dans un fichier d'entête. - on pourrait voir un contre exemple dans ta première ligne. Elle déclare un alias de coordonnees vers ta struct coordonnees qui ne sera définie qu'après. En fait ça n'est pas un problème car elle fait 2 choses : déclare la struct coordonnees, et y fait référence. Mais sans la définition qui suit le reste du code ne fonctionnerait pas. - il est important de distinguer déclaration de définition. Par exemple, la déclaration d'un type est suffisante pour définir/déclarer un pointeur sur ce type, mais la définition est nécessaire pour l'utiliser. Par exemple, ta ligne 12 n'a pas besoin que de la déclaration (faite ligne 4) mais tes lignes 15, 16, 23, 25, 27, 31 nécessitent la déclaration de coordonnees et la définition de struct coordonnees (faites lignes 4 à 10).
En recherche d'emploi.
error: unknown type name ...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
J'ai sorti de la fonction main et ça fonctionne, pas d'autres moyens non?
En recherche d'emploi.