Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2009, 06:36
Avatar de Eternal Idol
Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 9 meses
Puntos: 74
Respuesta: Problemas de programacion recursiva

Tenes que comparar *version, es decir, una cadena vacia y no un puntero nulo. Ademas si queres restar uno al primer caracter de version (justamente *version) tenes que hacerlo decrementando (siempre que no sea 0 ...) y no restando 49 (numero ASCII de 1, aunque en tu caso estas restando al puntero ...).

Código:
String versionAnterior(String version)
{
  String token = strtok_s(NULL, ".", &version);
  if (!*version)
  {
    (*token)--;
    return token;
  }
  else
  {
    return versionAnterior(version);
  }
}
Seguramente con String a = "1.2"; te dara una excepcion al intentar poner el 0 en a debido a que de esa manera declaras un puntero a una cadena que sera alojada en la seccion de datos de solo lectura. De esta manera podes hacer que la cadena sea alojada en la pila - usando un array - y a siga siendo un puntero a cadena con el mismo contenido:

Código:
char b[] = "1.2";
String a = (String)&b;
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO