prob de pointeur - C - Programmation
Marsh Posté le 26-11-2004 à 12:38:30
Tmatiere math = { {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16}, NULL };
ou (c99)
Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},
.pt_matiere_suivante = NULL };
Marsh Posté le 26-11-2004 à 13:30:33
comment ca ??
tu fais quoi exactement et c'est quoi le message d'erreur ?
Marsh Posté le 26-11-2004 à 14:16:42
bigmama a écrit : désolé mais ça ne marche pas; |
ben si çà marche, au moins la première des 2 solutions si ton compilateur ne gère pas le C99.
Ton problème vient du fait que tu tentes d'initialiser un tableau en dehors de sa définition, hors c'est le compilateur qui initialise (çà se fait pas au runtime, un tableau est une l-value non modifiable) d'où erreur...
Marsh Posté le 26-11-2004 à 15:10:25
pour Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},
.pt_matiere_suivante = NULL }; sous c++builderX
: E2188 Syntaxe de l'expression dans la fonction main en ligne 123
Marsh Posté le 26-11-2004 à 15:10:42
pour Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},
.pt_matiere_suivante = NULL }; sous c++builderX
: E2188 Syntaxe de l'expression dans la fonction main en ligne 123
Marsh Posté le 26-11-2004 à 15:10:47
pour Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},
.pt_matiere_suivante = NULL }; sous c++builderX
: E2188 Syntaxe de l'expression dans la fonction main en ligne 123
Marsh Posté le 26-11-2004 à 15:17:52
et comment tu lui dis à ton c++builderX que tu compiles du c et pas du c++ ?
Marsh Posté le 26-11-2004 à 15:18:25
ReplyMarsh Posté le 26-11-2004 à 15:19:34
bigmama a écrit : pour |
Ca marche avec gcc 3.4, essaye avec mingw
Marsh Posté le 26-11-2004 à 15:20:55
Lam's a écrit : Du C99 |
non, a mon avis c++builderX supporte c99 (quand meme)
Marsh Posté le 26-11-2004 à 12:19:55
Bonjour ,j'ai un ppetit prb avec les liste chainées:
je dois pouvoir inserer autant de atiere par eleve et calculer leur moyenne ,pour cela j'ai defini deux structures :
typedef struct Televe /* structure gerant les eleves */
{
struct Tmatiere *pt_tete;
}Televe;
typedef struct Tmatiere /* tableau contenant les notes */
{
int tab_notes [16];
struct Tmatiere *pt_matiere_suivante; // gerant les matieres
}Tmatiere;
Ensuite , j'initialise plusieur eleve et plusiurs matieres
// nouveaux eleve
// Instantiation des structure Televes
Televe jean;
Televe jacques;
Televe cecile;
// Instantiation des structure Tmatiere
Tmatiere math;
Tmatiere hist_geo;
// initialisation des pointeurs de tete dans les structures Televe
jean.pt_tete=NULL;
jacques.pt_tete=NULL;
cecile.pt_tete=NULL;
// initialisation des valeur des pointeurs
francais.pt_matiere_suivante=NULL;
math.pt_matiere_suivante=NULL;
hist_geo.pt_matiere_suivante=NULL;
math.tab_notes ={5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16};
hist_geo.tab_notes={15,0,1,12,9,16,20,1,13,10,17,6,13,17,4,6};
// initialisation des valeurs de chaques matieres
math.tab_notes []={5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16}; // ERREUR
hist_geo.tab_notes={15,0,1,12,9,16,20,1,13,10,17,6,13,17,4,6}; // ERREUR
hors je n'arrive pas a compiler ,pourtant j'ai bien definie un tableau dans la structure Tatiere ,quelqu'un peu il m'expliquer l'ereur que j'ai pu faire ,Merci d'avance ...
Message édité par bigmama le 26-11-2004 à 12:22:15