Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error: expected primary-expression before "void"

Estas en el tema de Error: expected primary-expression before "void" en el foro de C/C++ en Foros del Web. Necesito ayuda para depurar esto include <cstdlib> #include <iostream> #include <stdio.h> #include <conio.h> int main() { int longitud(char *cadena); { int i; for(i=0; ;i++) if(cadena[i]=='\0') ...
  #1 (permalink)  
Antiguo 12/01/2011, 11:26
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Error: expected primary-expression before "void"

Necesito ayuda para depurar esto


include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
int main()
{
int longitud(char *cadena);

{
int i;
for(i=0; ;i++)
if(cadena[i]=='\0')
break;
return i;
}

int posicion(char *cadena, char *subcadena);
{
int i, j;

for(i=0; i<longitud(cadena); i++)
{
if(cadena[i]==subcadena[0])
{
if(longitud(cadena)-i < longitud(subcadena))
return -1;

for(j=0; j<longitud(subcadena); j++)
{
if(cadena[i+j]!=subcadena[j])
break;
}
if(j==longitud(subcadena))
return i;
}
}

return -1;
}


int reemplazar(char *cadena, char *subcadena, char *reemplazo);
{
int ocurrencias = 0;
int i, indice, posiciones, temp, l_cadena, l_subcadena, l_reemplazo;

l_cadena = longitud(cadena);
l_reemplazo = longitud(reemplazo);
l_subcadena = longitud(subcadena);

for(;;)
{
indice = posicion(cadena, subcadena);
if(indice==-1)
break;
else
{
for(i=indice; i<indice+l_reemplazo; i++)
cadena[i]=reemplazo[i-indice];

posiciones=l_subcadena-l_reemplazo;
if(posiciones>0)
for(temp=i; temp<=l_cadena; temp++)
cadena[temp]=cadena[temp+posiciones];

ocurrencias++;
}
}

return ocurrencias;
}

void main()
{
clrscr();
char *cadena="Hola esto es una prueba";
char *subcadena="es";
char *reemplazo="Z";

printf("Cadena original: %s\n", cadena);
printf("Buscar: %s\n", subcadena);
printf("Reemplazo: %s\n\n", reemplazo);

int temp=reemplazar(cadena, subcadena, reemplazo);

printf("Coincidencias: %d\n", temp);
printf("Cadena resultante: %s", cadena);
getch();
}


system("PAUSE");
return EXIT_SUCCESS;
  #2 (permalink)  
Antiguo 12/01/2011, 13:49
Avatar de dgomez5  
Fecha de Ingreso: enero-2011
Ubicación: valencia
Mensajes: 7
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error: expected primary-expression before "void"

primero dejame decirte que al primer include le falta el # y segundo que tienes dos main uno que devuelve un entero y el segundo no devuelve nada ademas que en el primero declaras las funciones dentro de el y creo que quieres hacer uso de una clase hay pero no la incluiste o creo que esa ultima es idea mia.
bueno espero aberte ayudado
  #3 (permalink)  
Antiguo 12/01/2011, 14:08
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error: expected primary-expression before "void"

Ciertamente, falto el primer # al copiarlo, aunque en el documento fuente si aparece. No creo tener dos main. De hecho los errores que me devuelve son referentes al VOID, "expected primary-expression before void" y las otras son de "undeclared" respecto de las expresiones cadea, subcadena y reemplazo
  #4 (permalink)  
Antiguo 12/01/2011, 17:13
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Error: expected primary-expression before "void"

Cita:
Iniciado por simentalz Ver Mensaje
Ciertamente, falto el primer # al copiarlo, aunque en el documento fuente si aparece. No creo tener dos main. De hecho los errores que me devuelve son referentes al VOID, "expected primary-expression before void" y las otras son de "undeclared" respecto de las expresiones cadea, subcadena y reemplazo
int main()
{
int longitud(char *cadena);

{
int i;
for(i=0; ;i++)
if(cadena[i]=='\0')
break;
return i;
}


void main()
{
clrscr();
char *cadena="Hola esto es una prueba";
char *subcadena="es";
char *reemplazo="Z";

printf("Cadena original: %s\n", cadena);
printf("Buscar: %s\n", subcadena);
printf("Reemplazo: %s\n\n", reemplazo);

int temp=reemplazar(cadena, subcadena, reemplazo);

printf("Coincidencias: %d\n", temp);
printf("Cadena resultante: %s", cadena);
getch();
}
  #5 (permalink)  
Antiguo 13/01/2011, 18:56
Avatar de dgomez5  
Fecha de Ingreso: enero-2011
Ubicación: valencia
Mensajes: 7
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error: expected primary-expression before "void"

ves lo que puso murnire es los dos main que tienes en tu codigo o por lo menos en el que nos copiaste a nosotros si y ese debe de ser el error del void

Etiquetas: expected
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:28.