Me estoy volviendo loco tratando de descubrir este mensaje de error que no tiene una conexión obvia con la realidad/mi código. He estado buscando aquí y llego a una conclusión: vas a odiar el puntero oculto por typedef. Lo siento, está fuera de mi control. Prof proporcionó el código de esa manera. Estoy editando el código como se especifica en el problema. Estoy reventando nodos completos para evitar llamadas malloc en cada función de inserción y almacenarlas en una pila secundaria. La función MakeEmptyS inicializa una pila con nodos INITIAL_SIZE. GrowEmptyS añade más nodos a la pila de nodos vacíosC - expresión esperada antes de '=' token ... en línea sin '='
stack.c tiene la siguiente función:
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);
}
}
}
me sale este error: "Stack.c: 53: 22: error: la expresión esperada antes '= 'token', donde la línea 53 es GrowEmptyS (S, INITIAL_SIZE);
Para referencia, aquí es la función creciendo:
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);
}
}
Aunque su profesor le dio un código incorrecto, debe intentar simplificarlo antes de publicarlo aquí. ¿Cómo se supone que debemos depurar la sintaxis de 'GrowEmptyS (S, INITIAL_SIZE)' si no nos muestra la definición de INITIAL_SIZE? Además, ¿GrowEmptyS es una macro o una función del preprocesador? Proporcionar un ejemplo corto, autónomo, correcto (compilable) resolverá todas estas preguntas. Consulte http://sscce.org/ –
También debe indicar cómo se define 'INITIAL_SIZE'. –
Perdón por no proporcionar la definición de INITIAL_SIZE. Como dije, GrowEmptyS es una función. Pero la próxima vez proporcionaré la fuente completa y compilable. ¡Gracias! – TravisThomas