Probeleme de structure
Résolu
rredondo
Messages postés
7
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voila j'ai un souci avec mon programme qui me fais sortir des erreurs que j'arrive pa a voir
voila l'erreur
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:60: error: expected primary-expression before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:61: error: expected primary-expression before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:62: error: expected unqualified-id before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:63: error: expected unqualified-id before '=' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:65: error: expected unqualified-id before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:73: error: expected unqualified-id before '=' token
alors que normalement j'ai bien declarer ma strucutre et tt mes variable
par exemple:
struct peers1{
char ip[8];
char peer_id[40];
int port[4];
peers1 *suivant;
} t, q, tete1;
et l'erreur est itue a ce niveau:p"par exemple"
t=(peers1*)malloc(sizeof(peers1));
tete1=t;
tete1=tete1.suivant;
ca serai tres aimable de votre part si vous pouviez m'aider
merci d'avance
voila j'ai un souci avec mon programme qui me fais sortir des erreurs que j'arrive pa a voir
voila l'erreur
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:60: error: expected primary-expression before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:61: error: expected primary-expression before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:62: error: expected unqualified-id before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:63: error: expected unqualified-id before '=' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:65: error: expected unqualified-id before '.' token
C:\Documents and Settings\perso\Bureau\dossier-c\trouver_peers().c:73: error: expected unqualified-id before '=' token
alors que normalement j'ai bien declarer ma strucutre et tt mes variable
par exemple:
struct peers1{
char ip[8];
char peer_id[40];
int port[4];
peers1 *suivant;
} t, q, tete1;
et l'erreur est itue a ce niveau:p"par exemple"
t=(peers1*)malloc(sizeof(peers1));
tete1=t;
tete1=tete1.suivant;
ca serai tres aimable de votre part si vous pouviez m'aider
merci d'avance
Configuration: Windows XP Internet Explorer 7.0
7 réponses
-
Salut,
Essaie :struct peers1{ char ip[8]; char peer_id[40]; int port[4]; struct peers1 *suivant; } t, q, tete1;
Si ça marche pas, poste ton code entier et utilise la balise conservation du code (à droite de souligner).
Cdt-
-
je croix pas que ca es une relation avec le pointeur a l'interieur de la structure
En tout cas, c'est bel et bien une erreur, que tu auras tôt ou tard à la compilation. Tu dois mettre le struct.
Mais affiche ton code, histoire d'avoir une vue d'ensemble ( et n'oublie pas la balise de conservation de code). -
-
-
voici le code j'ai enlever les autre fonction sinon ca ferais bcp
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct peers1{
char ip[8];
char peer_id[40];
int port[4];
peers1 *suivant;
} t, q, tete1;
struct peers2{
char ip[8];
char port[4];
peers2 *suivant2;
} s, y ,tete2;
void init();
int main()
{
init();
}
void init()
{
s=(peers2*)malloc(sizeof(peers2));
tete2=s;
tete2=tete2.suivant2;
q=(peers1*)malloc(sizeof(peers1));
tete1=q;
tete1=tete1.suivant;
}
-
-
tu déclares s, tete1 et tete2 comme des structure et les utilise comme des pointeurs de structure. Forcément, ça ne peux pas aller.
je suis pas trop bon en C (plutôt C++) mais il ne faut pas spécifier "struct peers1" dans le malloc ? -
dsl j'avais oublie d'uiliser les balises sinon c tjr le meme probleme
error :expected unqualified-id before '=' token
pour les lignes
s=malloc(sizeof(struct peers2));
tete2=s;
tete2=tete2->suivant2;
q=malloc(sizeof(struct peers1));
tete1=q;
tete1=tete1->suivant -
Les lignes que je t'ai données compilent bien. Donc l'erreur vient d'ailleurs. Mais, comme on n'a pas tout le code, on peut pas t'aider.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
slt ca marche kan on met
s=(peer2*)malloc(sizeof(peer2)); c vrai ,c extra
merci bcp pour ton aide -
j'ai oublie un truc
cc'etais
s=(peers1*)malloc(sizeof(struct peers1));
c'est ce qui marche
merci -
Ah ouf, je préfère lol. Oui l'oubli peut parfois faire crier le compilateur.