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

Segmentation fault (core dumped)

Estas en el tema de Segmentation fault (core dumped) en el foro de C/C++ en Foros del Web. Buenos días, me sale este error Segmentation fault (core dumped) al final de un método si me declaro un objeto de esa clase. class Tipo{ ...
  #1 (permalink)  
Antiguo 27/01/2014, 04:45
 
Fecha de Ingreso: enero-2014
Mensajes: 6
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Segmentation fault (core dumped)

Buenos días,

me sale este error Segmentation fault (core dumped) al final de un método si me declaro un objeto de esa clase.

class Tipo{

void metodo(){
Tipo t;

//demás código

}
}

¿Porqué ocurre eso y cómo puedo solucionarlo?

Gracias.
  #2 (permalink)  
Antiguo 27/01/2014, 04:59
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Segmentation fault (core dumped)

creo... no lo se, no estoy seguro pero lo diré :D
Estas intentando crear un objeto que tiene partes publicas y privadas dentro de otra privada.
Se supone que para tener acceso debes ponerlo en una parte publica.
Ademas no se si puedes poner un objeto. dentro de la misma clase, nunca se me ocurrió eso.
Pero solo son suposiciones, a ver si alguien mas experiencia nos aclare, a mi me interesa también. :)
Digamos que la clase ya contiene partes publicas, y ahora lo metes dentro de la privada privada, no se si el programa va digerir eso muy bien. XD
No lo se pero eso me parece bug del gordo. :D
La verdad no estoy seguro de lo que digo pero lo voy a probar y ya te cuento XDD
  #3 (permalink)  
Antiguo 27/01/2014, 05:08
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Segmentation fault (core dumped)

|10|error: field 't' has incomplete type|
Me ha tirado ese error tanto en privado como en publico.
Creo que no se puede poner un objeto dentro de su propia clase. Uso codeblocks. :/
Tampoco veo la necesidad que tienes de hacer eso pero bueno.
A ver que dicen las mentes mas brillantes del foro. :D
  #4 (permalink)  
Antiguo 27/01/2014, 06:17
 
Fecha de Ingreso: enero-2014
Mensajes: 6
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Segmentation fault (core dumped)

Quiero hacer esto para rellenar el objeto con los datos que quiera, enviárselo a un método de otra clase y meterlos en un vector de elementos de la clase tipo.
  #5 (permalink)  
Antiguo 27/01/2014, 06:56
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Segmentation fault (core dumped)

No se si se puede :/
Paciencia, a ver si alguien nos quita la duda :(
  #6 (permalink)  
Antiguo 27/01/2014, 14:00
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Segmentation fault (core dumped)

Sugiero usar un constructor para la necesidad indicada, por ejemplo, si existiera un objeto de la Clase1, un contenedor de estos objetos podria construirse (ver main mas abajo) pasandole objetos de ese tipo.

Código C++:
Ver original
  1. class Clase1 {
  2.     int x;
  3. public:
  4.     Clase1() {}
  5.     Clase1( int newx ) { this->x = newx; }
  6.  
  7.     int getx()         { return x; }
  8. };
  9.  
  10. class ColeccionDeObjetos {
  11. public:
  12.     void agrega( Clase1& obj1 ) {
  13.         // usar aqui obj1
  14.         // por ejemplo agregarla a un vector
  15.     }
  16. };
  17.      
  18. int main()
  19. {
  20.    ColeccionDeObjetos co;
  21.    Clase1 obj1(30);
  22.  
  23.    co.agrega( obj1 );
  24.  
  25.    return 0;
  26. }
__________________
Visita mi perfil en LinkedIn

Etiquetas: core, fault, metodo
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 19:15.