Je ne comprend pas mon erreur à propos de ma structure
Fermé
Modaak
Messages postés
67
Date d'inscription
mercredi 30 mai 2018
Statut
Membre
Dernière intervention
4 février 2020
-
Modifié le 15 nov. 2019 à 18:22
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 15 nov. 2019 à 17:41
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 15 nov. 2019 à 17:41
A voir également:
- Je ne comprend pas mon erreur à propos de ma structure
- Erreur 1004 vba ✓ - Forum VB / VBA
- Erreur 1000 france tv - Forum MacOS
- Youtube une erreur s'est produite ✓ - Forum YouTube
- Iptv erreur de lecture - Forum Vidéo/TV
- Free erreur 38 ✓ - Forum Mobile
3 réponses
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
15 nov. 2019 à 17:35
15 nov. 2019 à 17:35
Bonsoir
2 rappels,
2 rappels,
- il y a forum C, c'est mieux pour y poster les questions qui concernent ce langage
- la bonne utilisation de la coloration syntaxique est décrite là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Tomsuper
Messages postés
1922
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
409
15 nov. 2019 à 17:14
15 nov. 2019 à 17:14
Bonjour,
As tu inclus ton .h dans ton fichier .c ?
Pourquoi à la 1ere ligne de ton main, tu declares struct _Coordonnees ?
Je te conseil cette ligne la plutôt
Coordonnees Nom_de_variable;
Cordialement.
As tu inclus ton .h dans ton fichier .c ?
Pourquoi à la 1ere ligne de ton main, tu declares struct _Coordonnees ?
Je te conseil cette ligne la plutôt
Coordonnees Nom_de_variable;
Cordialement.
Tomsuper
Messages postés
1922
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
409
15 nov. 2019 à 17:18
15 nov. 2019 à 17:18
Typedef : raccourci de définition de type.
Tu définie le type Coordonnées comme une struct _Coordonnees
Donc ta ligne as une fautes et un non sens.
Le non sens étant de pourquoi definire Coordonnees comme type pour ne pas s'en servire ?
L'erreur étant que tu ne peux donné un type comme nom as une variable. comme int char. char étant un type, il ne peut être le nom de la variable int.
Cordialement
Tu définie le type Coordonnées comme une struct _Coordonnees
Donc ta ligne as une fautes et un non sens.
Le non sens étant de pourquoi definire Coordonnees comme type pour ne pas s'en servire ?
L'erreur étant que tu ne peux donné un type comme nom as une variable. comme int char. char étant un type, il ne peut être le nom de la variable int.
Cordialement
Modaak
Messages postés
67
Date d'inscription
mercredi 30 mai 2018
Statut
Membre
Dernière intervention
4 février 2020
1
15 nov. 2019 à 17:21
15 nov. 2019 à 17:21
oui je l'ai inclus et concernant dans le main struct _coordonnees je l'ai enlever !
Tomsuper
Messages postés
1922
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
409
Modifié le 15 nov. 2019 à 17:39
Modifié le 15 nov. 2019 à 17:39
int main(int argc, char *argv[])
{
Coordonnees emplacement;
emplacement.x = 20;
emplacement.y = 7;
Polygon Poly;
Poly.count = 0;
if ((Poly.emplacement = malloc(sizeof(Coordonnes))) == NULL)
return (1);
Poly.emplacement = Coordonnees; /*L'erreur est ici*/
return 0; /*pense à free ton Poly.emplacement*/
}
Peux tu tester cela ?
Modaak
Messages postés
67
Date d'inscription
mercredi 30 mai 2018
Statut
Membre
Dernière intervention
4 février 2020
1
15 nov. 2019 à 17:28
15 nov. 2019 à 17:28
oui
Tomsuper
Messages postés
1922
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
19 août 2020
409
Modifié le 15 nov. 2019 à 17:39
Modifié le 15 nov. 2019 à 17:39
A oui et il y auras ca a changer aussi
typedef struct _Polygon Polygon;
#ifndef POLYGON_
#define POLYGON_
struct _Polygon {
unsigned int count;
Coordonnees* <bold><underline>emplacement</underline></bold>;
};
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié le 15 nov. 2019 à 17:51
Modifié le 15 nov. 2019 à 17:51
Salut Modaak,
Ton erreur que tu mentionnes dans ton message initial est due au fait que tu as définit le membre Coordonnees de la struct Polygon comme étant un pointeur sur le type Coordonnees.
Or dans la ligne de code ci-dessus, tu essayes d'y affecter le contenu de la struct à droite du signe = et non pas le pointeur sur cette struct.
Donc il suffisait, à mon sens, de faire :
(non testé)
Dal
Polygon.Coordonnees = Coordonnees; /*L'erreur est ici*/
Ton erreur que tu mentionnes dans ton message initial est due au fait que tu as définit le membre Coordonnees de la struct Polygon comme étant un pointeur sur le type Coordonnees.
Or dans la ligne de code ci-dessus, tu essayes d'y affecter le contenu de la struct à droite du signe = et non pas le pointeur sur cette struct.
Donc il suffisait, à mon sens, de faire :
Polygon.Coordonnees = &Coordonnees; /* plus d'erreur */
(non testé)
Dal
15 nov. 2019 à 17:40