[C con Clase] Error en definicion de clase

Roberto Valseca Vián robeval en gmail.com
Mie Mayo 30 16:24:10 CEST 2012


Hola

Asi por encima un par de cosas:

1º
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>

>  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:
>
> #ifndef NODO_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
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 

Roberto Valseca Vián
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120530/0ee1d61c/attachment.html>


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