Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/09/2010, 02:27
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: puntero dentro de struct! [URGENTE!]

Hola,

Código C++:
Ver original
  1. int ingreso(polinomio *valores){
  2. ...
  3.     int matriz[valores->grado+1];
  4. ...
  5.     valores->coeficiente=matriz; /*paso de los coeficientes al puntero de estructura, hago esto, porq en el ejercicio la struct debe tener un puntero que apunte a la matriz de los coeficientes*/
  6. ...

La variable matriz es local a la función ingreso, esa variable desaparece o se vuelve inválida al terminar la función, resultando en un puntero a una dirección de memoria desconocida o inválida. Lo que tienes que usar es memoria dinámica, para que ese espacio de memoria se mantenga permanentemente aun cuando salga de la función.

Código C++:
Ver original
  1. int * matriz = new int[valores->grado+1];

Al terminar de usar valores->coeficiente (cuando ya no lo vayas a utilizar mas en todo el programa) debería de usarse el operador delete[].

Código C++:
Ver original
  1. delete[] valores->coeficiente;

Saludos,