[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