[C con Clase] Error en definicion de clase

Jesse Sanabria jessesazo en yahoo.com
Mie Mayo 30 21:53:44 CEST 2012


Gracias por el dato, tienes toda la razon,

Moito obrigado

> Hola
>  
> Asi por encima un par de cosas:
>  
>> Nodo::Nodo(std::string xsjcl,int xnpos, std::string xslogico,
> std::string xsfisico, int xntipo)
> {   
>    getJcl(xsjcl);   
>    getPos(xnpos);
>    getLogico(xslogico);
>    getFisico(xsfisico);
>    getTipo(xntipo);
>    return;
> }
> Imagino que quieres usar set...., no get porque esos metodos no los
> tienes definidos.
>  
> 2º Lo unicos metodos que no devuelven nada son los constructores y
> destructores
> El resto tienen que devolver algo, aunq sea vacio. Como no pones nada,
> te esta toamndo por defecto que devuelve un int.
> void setJcl(const std::string );
> void Nodo::setJcl(const std::string xsjcl)
> {
>     jcl = xsjcl;
>     return;
> }
>  
> 3º Si lo defines
>  setTipo(const int );
>  
> Nodo::setTipo(const int xntipo)
> {   
>    tipo = xntipo;
>    return;
> }
>
> Fijate mas en las definiciones y en los paramametros
>  
> Un saludo
>  
> 2012/5/28 Jesse Sanabria <jessesazo en yahoo.com
> <mailto:jessesazo en yahoo.com>>
>
>     Hola a todos
>
>     Tengo los siguientes mensajes de error y no encuentro como
>     corregir el error
>     ¿Me pueden echar un cable?, Muchas gracias
>
>     Asumo que el error debe ser sencillo pero la verdad es que no lo veo.
>
>     Mensaje de error
>
>     ..\grafos\/nodo.h:17: error: ISO C++ forbids declaration of
>     'setTipo' with no type
>
>     ..\grafos\nodo.cpp: In constructor 'Nodo::Nodo(std::string, int,
>     std::string, std::string, int)':
>
>     ..\grafos\nodo.cpp:10: error: no matching function for call to
>     'Nodo::getJcl(std::string&)'
>
>     ..\grafos\/nodo.h:18: note: candidates are: std::string Nodo::getJcl()
>
>     ..\grafos\nodo.cpp:11: error: no matching function for call to
>     'Nodo::getPos(int&)'
>
>     ..\grafos\/nodo.h:19: note: candidates are: int Nodo::getPos()
>
>     ..\grafos\nodo.cpp:12: error: no matching function for call to
>     'Nodo::getLogico(std::string&)'
>
>     ..\grafos\/nodo.h:20: note: candidates are: std::string
>     Nodo::getLogico()
>
>     ..\grafos\nodo.cpp:13: error: no matching function for call to
>     'Nodo::getFisico(std::string&)'
>
>     ..\grafos\/nodo.h:21: note: candidates are: std::string
>     Nodo::getFisico()
>
>     ..\grafos\nodo.cpp:18: error: ISO C++ forbids declaration of
>     'setJcl' with no type
>
>     ..\grafos\nodo.cpp: In member function 'int
>     Nodo::setJcl(std::string)':
>
>     ..\grafos\nodo.cpp:21: error: return-statement with no value, in
>     function returning 'int'
>
>     ..\grafos\nodo.cpp:22: warning: no return statement in function
>     returning non-void
>
>     ..\grafos\nodo.cpp: At global scope:
>
>     ..\grafos\nodo.cpp:24: error: ISO C++ forbids declaration of
>     'setPos' with no type
>
>     ..\grafos\nodo.cpp: In member function 'int Nodo::setPos(int)':
>
>     ..\grafos\nodo.cpp:27: error: return-statement with no value, in
>     function returning 'int'
>
>     ..\grafos\nodo.cpp:28: warning: no return statement in function
>     returning non-void
>
>     ..\grafos\nodo.cpp: At global scope:
>
>     ..\grafos\nodo.cpp:30: error: ISO C++ forbids declaration of
>     'setLogico' with no type
>
>     ..\grafos\nodo.cpp: In member function 'int
>     Nodo::setLogico(std::string)':
>
>     ..\grafos\nodo.cpp:33: error: return-statement with no value, in
>     function returning 'int'
>
>     ..\grafos\nodo.cpp:34: warning: no return statement in function
>     returning non-void
>
>     ..\grafos\nodo.cpp: At global scope:
>
>     ..\grafos\nodo.cpp:36: error: ISO C++ forbids declaration of
>     'setFisico' with no type
>
>     ..\grafos\nodo.cpp: In member function 'int
>     Nodo::setFisico(std::string)':
>
>     ..\grafos\nodo.cpp:39: error: return-statement with no value, in
>     function returning 'int'
>
>     ..\grafos\nodo.cpp:40: warning: no return statement in function
>     returning non-void
>
>     ..\grafos\nodo.cpp: At global scope:
>
>     ..\grafos\nodo.cpp:42: error: ISO C++ forbids declaration of
>     'setTipo' with no type
>
>     ..\grafos\nodo.cpp: In member function 'int Nodo::setTipo(int)':
>
>     ..\grafos\nodo.cpp:45: error: return-statement with no value, in
>     function returning 'int'
>
>     ..\grafos\nodo.cpp:46: warning: no return statement in function
>     returning non-void
>
>     mingw32-make[1]: *** [debug/nodo.o] Error 1
>
>     mingw32-make: *** [debug] Error 2
>
>     The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
>
>     Error while building project grafos (target: Desktop)
>
>     When executing build step 'Make'
>
>
>
>
>
>     Codigo:
>
>     #ifndefNODO_H
>
>     #define NODO_H
>
>     #include <string>
>
>     using std::string;
>
>     class Nodo
>
>     {
>
>     public:
>
>         Nodo(void);
>
>         Nodo(std::string, int, std::string, std::string, int);
>
>         setJcl(const std::string );
>
>         setPos(const int );
>
>         setLogico(const std::string );
>
>         setFisico(const std::string );
>
>         setTipo(const int );
>
>         string getJcl();
>
>         int getPos();
>
>         std::string getLogico();
>
>         std::string getFisico();
>
>         int getTipo();
>
>     private:
>
>         int pos;
>
>         int tipo;
>
>         std::string jcl;
>
>         std::string logico;
>
>         std::string fisico;
>
>     };
>
>     #endif // NODO_H
>
>     #include"nodo.h"
>
>     Nodo::Nodo()
>
>     {
>
>     }
>
>     Nodo::Nodo(std::string xsjcl,int xnpos, std::string xslogico, std::string xsfisico, int xntipo)
>
>     {
>
>         getJcl(xsjcl);
>
>         getPos(xnpos);
>
>         getLogico(xslogico);
>
>         getFisico(xsfisico);
>
>         getTipo(xntipo);
>
>         return;
>
>     }
>
>     Nodo::setJcl(const std::string xsjcl)
>
>     {
>
>         jcl = xsjcl;
>
>         return;
>
>     }
>
>     Nodo::setPos(const int xnpos)
>
>     {
>
>         pos = xnpos;
>
>         return;
>
>     }
>
>     Nodo::setLogico(const std::string xslogico)
>
>     {
>
>         logico = xslogico;
>
>         return;
>
>     }
>
>     Nodo::setFisico(const std::string xsfisico)
>
>     {
>
>         fisico = xsfisico;
>
>         return;
>
>     }
>
>     Nodo::setTipo(int xntipo)
>
>     {
>
>         tipo = xntipo;
>
>         return;
>
>     }
>
>     std::string Nodo::getJcl()
>
>     {
>
>        return jcl;
>
>     }
>
>     int Nodo::getPos()
>
>     {
>
>        return pos;
>
>     }
>
>     std::string Nodo::getLogico()
>
>     {
>
>        return logico;
>
>     }
>
>     std::string Nodo::getFisico()
>
>     {
>
>        return fisico;
>
>     }
>
>     int Nodo::getTipo()
>
>     {
>
>        return tipo;
>
>     }
>
>
>     _______________________________________________
>     Lista de correo Cconclase Cconclase en listas.conclase.net
>     <mailto:Cconclase en listas.conclase.net>
>     http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>     Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>     <http://listas.conclase.net/index.php?gid=2&mnu=FAQ>
>
>
>
>
> -- 
>
> Roberto Valseca Vián
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120530/3958cb41/attachment.html>


Más información sobre la lista de distribución Cconclase