C - expected expression before '=' token... sur la ligne sans '='
Je deviens fou à essayer de comprendre ce message d'erreur qui n'a pas de lien évident entre la réalité/mon code. J'ai cherché ici et de venir à une conclusion: vous allez détester le pointeur caché par typedef. Désolé, c'est hors de mon contrôle--prof a fourni le code de cette façon. Je suis en train de modifier le code comme indiqué dans le problème. Je saute plein de nœuds pour éviter les appels malloc sur chaque fonction de push et de les stocker dans une école secondaire de la pile. Le MakeEmptyS fonction initialise la Pile avec INITIAL_SIZE nœuds. GrowEmptyS ajoute plus de nœuds à la Pile de nœuds vides
de la pile.c a la fonction suivante:
void
MakeEmptyS( Stack S )
{
PtrToNode tmp;
if ( S == NULL )
Error( "Must use CreateStack first" );
else
{
GrowEmptyS( S, INITIAL_SIZE);
while (!IsEmptyS( S) )
{
tmp = TopopNode( S );
PushEmpty( S, tmp);
}
}
}
J'obtiens cette erreur: "de la Pile.c:53:22: erreur: attendu expression before '=' token", où la ligne 53 est GrowEmptyS( S, INITIAL_SIZE );
Pour référence, voici la croissance de la fonction:
void
GrowEmptyS( Stack S, int NumToAdd )
{
int i;
PtrToNode TmpCell;
for( i = 0; i < NumToAdd; i++ )
{
TmpCell = malloc( sizeof(struct Node));
if ( TmpCell == NULL )
FatalError( "Out of Space!!!");
else
PushEmpty(S,TmpCell);
}
}
GrowEmptyS(S, INITIAL_SIZE)
si vous ne nous montrez pas à la définition de INITIAL_SIZE? Aussi, est GrowEmptyS un préprocesseur macro ou une fonction? Fournissant une brève, autonome et correcte (compilable), exemple permettra de résoudre toutes ces questions. Voir sscce.orgVous devez également dire combien de
INITIAL_SIZE
est défini.Désolé de ne pas fournir la définition de INITIAL_SIZE. Comme je l'ai dit, GrowEmptyS est une fonction. Mais la prochaine fois, je vais donner le plein, source compilable. Merci!
OriginalL'auteur TravisThomas | 2011-10-30
Vous devez vous connecter pour publier un commentaire.
Je me trompe peut-être mais sans doute vous avez défini
par exemple.
Vous devez supprimer le =.
La définition correcte serait
Comme un conseil, les paramètres de la fonction doit commencer par en bas de casse, pas de majuscules 🙂
est plus facile à lire.
OriginalL'auteur Salvatore Previti