• Domingo 22 de Diciembre de 2024, 13:44

Autor Tema:  Re: Sigo Con Problemas Para Compilar En C++  (Leído 1770 veces)

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: Sigo Con Problemas Para Compilar En C++
« en: Domingo 13 de Marzo de 2005, 02:30 »
0
Código: Text
  1.  
  2. class vertice            
  3. {
  4. vertice(string name = "", vertice *sig = NULL, arco *next = NULL)
  5. {
  6.   sigv = sig;
  7.   sigarco = next;
  8.   nombre = name;  //<------------------------------------------ 1º ERROR AQUI Y
  9.   ubicacion = name; // AQUI
  10. }
  11.   int llave;
  12.   vertice *sigv;
  13.   arco *sigarco;
  14.   string nombre;  
  15.   string ubicacion;
  16.  
  17. friend class grafo;
  18. };
  19.  
  20.  

Código: Text
  1.  
  2. typedef vertice *pvertice;
  3. typedef arco *p_arco;
  4. class grafo
  5. {
  6. grafo()  
  7. { //<------------------------------------------ 2º ERROR
  8.   privertice = vertice_act = NULL;
  9.   priarco = arco_act = NULL;
  10. }
  11. public:
  12.   void menu_principal();
  13.   void nuevo_vertice();
  14.   void nuevo_Arco();
  15.   void modif_Arco();
  16.   void modif_vertice();
  17.   void arbol_de_expancion_minima();
  18.   void Imprimir_grafo_en_amplitud();
  19.   void Imprimir_grafo_en_profundidad();
  20.   void grados_de_cada_vertice();
  21.   void grado_Interno();                
  22.   void grado_Externo();
  23.   void rutas_alternativas();
  24.   void rutas_mas_directas();
  25.   void Backbone();
  26.   void vertices_conexos();
  27.   private:
  28.     pvertice privertice;
  29.     pvertice vertice_act;
  30.     p_arco priarco;
  31.     p_arco arco_act;
  32. };
  33.  
  34.  
Es estos dos fragmentos de codigo tengo algunos errores que el compilador me sige lansando, Error 2º me dice " Error 'grafo::grafo()' is private".

Y en el 1º Error me dice: " whitin this context", totalmente perdido, no se de que se tratan estos errores, le agradeceria si me puede seguir echando una mano.

Nuevamete agracias atodos los que hasta el comento me han ayudado!.

carlos20

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Sigo Con Problemas Para Compilar En C++
« Respuesta #1 en: Domingo 13 de Marzo de 2005, 03:33 »
0
El código que envíe no tiene errores sintácticos y si compila . yo copie el código
exactamente como tu lo enviaste y solo corregí  los errores sintácticos del código
no intente nunca crear un objeto de la clase “vertice” , “arco”  o “grafo” porque
las funciones no están definidas y el grafo no funcionaria .

Cuando tratas de crear un objeto de una de estas clases el error ocurre porque los constructores de un objeto no pueden ser privados ( private: ) deben ser públicos ( public: )

Código: Text
  1.  
  2.  
  3. class vertice{
  4. public:
  5.       vertice(string name = "", vertice *sig = NULL, arco *next = NULL){
  6.                  sigv = sig;
  7.                  sigarco = next;
  8.                  nombre = name;
  9.                  ubicacion = name;
  10.       }
  11.      int llave;
  12.      vertice *sigv;
  13.      arco *sigarco;
  14.      string nombre;  
  15.      string ubicacion;
  16.  
  17.      friend class grafo;
  18. };
  19.  
  20.  
  21.  

Código: Text
  1.  
  2. typedef vertice *pvertice;
  3. typedef arco *p_arco;
  4. class grafo{
  5. public:
  6.      grafo(){
  7.          privertice = vertice_act = NULL;
  8.          priarco = arco_act = NULL;
  9.      }
  10. public:
  11.      void menu_principal();
  12.      void nuevo_vertice();
  13.      void nuevo_Arco();
  14.      void modif_Arco();
  15.      void modif_vertice();
  16.      void arbol_de_expancion_minima();
  17.      void Imprimir_grafo_en_amplitud();
  18.      void Imprimir_grafo_en_profundidad();
  19.      void grados_de_cada_vertice();
  20.      void grado_Interno();                
  21.      void grado_Externo();
  22.      void rutas_alternativas();
  23.      void rutas_mas_directas();
  24.      void Backbone();
  25.      void vertices_conexos();
  26. private:
  27.      pvertice privertice;
  28.      pvertice vertice_act;
  29.      p_arco priarco;
  30.      p_arco arco_act;
  31. };
  32.  
  33.  
  34.  

El especificador de acceso por defecto de las clases en C++ es "private:"

maikmr

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: Sigo Con Problemas Para Compilar En C++
« Respuesta #2 en: Domingo 13 de Marzo de 2005, 20:56 »
0
Una vez más, muchas gracias Carlos, por su valiosa ayuda!, muchas gracias de verdad!.