elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 47
41  Programación / Programación C/C++ / Re: Problema con #includes en: 5 Junio 2013, 18:12 pm
Gracias por toda la ayuda que me brindastes ya lo he solucionado!!.

Basándome en lo ultimo que publicaste, se que hay que separar todo en *.hpp y *cpp pero no lo he hecho así ya que llega tornarse enorme para buscar un problema, también la solución que me brindaste no es la que andaba buscando. la de en el main tener que incluir las dos librerías:

Código
  1. #include "B.h"    // Esto es lo que estaba evitando
  2. #include "A.h"    // Esto es lo que estaba evitando
  3.  
  4. int main(){
  5.    return 0;
  6. }
  7.  

Y esta es la solución:

A.hpp:
Código
  1. #include "B.hpp"
  2.  
  3. #ifndef _A_
  4. #define _A_
  5.  
  6. class A{
  7. private:
  8. B* b;
  9. public:
  10. A(int);
  11. A(B*);
  12. };
  13.  
  14. A::A(int algo){
  15. b = new B(algo);
  16. }
  17.  
  18. A::A(B *pB){
  19. b = pB;
  20. }
  21.  
  22. #endif
  23.  

B.hpp:
Código
  1. #ifndef _B_
  2. #define _B_
  3.  
  4. class A;
  5.  
  6. class B{
  7. private:
  8. int dato;
  9. public:
  10. B(int);
  11. A* retornoA();
  12. };
  13.  
  14. B::B(int algo){
  15. dato = algo;
  16. }
  17.  
  18. #include "A.hpp"
  19. A* B::retornoA(){
  20. A *a = new A(10);
  21. return a;
  22. }
  23.  
  24. #endif
  25.  

Y en el main incluyo solo a A.hpp
Código
  1. #include "A.hpp"
  2.  
  3. int main(){
  4. return 0;
  5. }
  6.  

amchacon muchas gracias por ayudarme, fuiste de muy gran ayuda, de toda la gente que ayudo(nadie mas), espero que mi solución te sea de feedback,
Grafcias
42  Programación / Programación C/C++ / Re: Problema con #includes en: 5 Junio 2013, 09:22 am
Mira para Tratar de resolverlo he hecho un código sin sentido pero útil que simula lo que esta pasando, tengo 2 fichero A.hpp y B.hpp

A.hpp:
Código
  1. #include "B.hpp"
  2.  
  3. #ifndef _A_
  4. #define _A_
  5.  
  6. class A{
  7. private:
  8. B* b;
  9. public:
  10. A(int);
  11. A(B*);
  12. };
  13.  
  14. A::A(int algo){
  15. b = new B(algo);
  16. }
  17.  
  18. A::A(B *pB){
  19. b = pB;
  20. }
  21.  
  22. #endif
  23.  

B.hpp:
Código
  1. //#include "A.hpp"
  2. #ifndef _B_
  3. #define _B_
  4.  
  5. //class A;
  6.  
  7. class B{
  8. private:
  9. int dato;
  10. public:
  11. B(int);
  12. //A* retornoA();
  13. };
  14.  
  15. B::B(int algo){
  16. dato = algo;
  17. }
  18.  
  19. /*
  20. A* B::retornoA(){
  21. A *a = new A(10);
  22. return a;
  23. }
  24. */
  25. #endif
  26.  

main:
Código
  1. #include "A.hpp"
  2.  
  3. int main(){
  4. return 0;
  5. }
  6.  

Como puedes ver en "B.hpp", tiene cosas comentadas, esa es la forma que tenía el código antes de que surgiera el problema...

Citar
Lo que tienes que hacer.. es descomentar lo que veas que es necesario.
Estoy usando el IDE geany en linux
El compilador g++
43  Programación / Programación C/C++ / Re: Problema con #includes en: 5 Junio 2013, 00:52 am
Ya lo he implementado pero me da otro error:
Citar
Lib/Socket/Conectividad.hpp:33:52: error: invalid use of incomplete type 'struct Socket'
Lib/Socket/Conectividad.hpp:6:7: error: forward declaration of 'struct Socket'


Que podría ser eso
44  Programación / Programación C/C++ / Re: Problema con #includes en: 4 Junio 2013, 20:11 pm
Bueno Ahora solo me esta dando error en el método:

Código
  1. Socket Conectividad::Accept(){
  2. //Variables
  3. int addrlen = sizeof(sockaddr_in); // Tamaño
  4. Host HostEstructura; // Return
  5.  
  6. // Acepta la Conexion
  7. HostEstructura.setSocket( accept(host->getSocket(), (sockaddr*)HostEstructura.getSockAddress(),  (socklen_t*)&addrlen ) );
  8.  
  9. Socket SocketRetorno(&HostEstructura);
  10. return SocketRetorno;
  11. }
  12.  
Este es el error que me da
Citar
Lib/Socket/Conectividad.hpp:25:29 return type 'struct Socket' is incomplete
Lib/Socket/Conectividad.gpp:33:22 variable 'Socket SocketRetorno' has initializer but incomplete type

Compilation fail.
45  Programación / Programación C/C++ / Re: Problema con #includes en: 4 Junio 2013, 20:03 pm
http://stackoverflow.com/questions/2133250/does-not-name-a-type-error-in-c

Hay en esa pagina tiene un problema similar al mio, lo resuelve pero... no presenta el problema que yo tengo ya que yo trato de retornar la clase he usar el constructor...

Los includes están dentro y bien los he probado de todas formas y nada...
46  Programación / Programación C/C++ / Re: Problema con #includes en: 4 Junio 2013, 17:52 pm
Si están implementadas de forma separada en ficheros .cpp y .hpp, pero aquí lo agrego pegado porque son muchos muchos métodos.. entonces solo estoy pegando donde esta el problema.

Siento mucho ese error del return queda

Código
  1. Socket SocketRetorno(HostEstructura);
  2. return SocketRetorno;
  3. }
  4.  

El problema es que si elimino esta linea:
Código
  1. class Socket;
  2.  

Me da mas problemas, esto se debe a que No esta incluido el fichero de Socket.hpp en el Connectividad.cpp, pero si lo incluyo me da problemas y si no lo incluyo también, como puede ver del lado de la clase Socket.cpp si esta incluido el fichero "Conectividad.hpp", el problema es con el método Accept() que tiene que devolver un objeto tipo socket pero... como obtiene la clase socket si no ha sido declarada y no se puede incluir
47  Programación / Programación C/C++ / Problema con #includes en: 4 Junio 2013, 06:35 am
Buenas Tengo 2 clases que me están dando problemas y es por el modo de declaración, aun no se como resolverlo si alguien sabe por favor ayude me...

Esto tiene un archivo
Código
  1. #include "Conectividad.hpp"
  2.  
  3. #ifndef _SOCKET_CPP
  4. #define _SOCKET_CPP
  5. class Socket{
  6. private:
  7. Host *host;
  8. public:
  9. Receiver *receiver;
  10. Sender *sender;
  11. Conectividad *conectividad;
  12. public:
  13. Socket(Host*);
  14. };
  15.  
  16. Socket::Socket(Host*pHost){
  17. this->host = pHost;
  18. this->receiver = new Receiver(this->host);
  19. this->sender = new Sender(this->host);
  20. this->conectividad = new Conectividad(this->host);
  21. }
  22.  

Esto tiene el otro archivo
Código
  1.  
  2. #ifndef _CONECTIVIDAD_CPP
  3. #define _CONECTIVIDAD_CPP
  4.  
  5. class Socket;
  6.  
  7. class Conectividad {
  8. private:
  9. Host *host;
  10. public:
  11. Conectividad(Host*,int);
  12.  
  13. bool Bind();
  14. bool Listen(int);
  15. Host Accept();
  16. bool Connect();
  17.  
  18. Socket Acceptar();
  19. };
  20.  
  21. Socket Conectividad::Accept(){
  22. //Variables
  23. int addrlen = sizeof(sockaddr_in); // Tamaño
  24. Host HostEstructura; // Return
  25.  
  26. // Acepta la Conexion
  27. HostEstructura.setSocket( accept(host->getSocket(), (sockaddr*)HostRetorno.getSockAddress(),  (socklen_t*)&addrlen ) );
  28.  
  29. Socket SocketRetorno(HostEstructura);
  30. return HostEstructura;
  31. }
  32. #endif
  33.  
El Error es este:
Citar
does not name a type error in C++

Ahora si, El problema se da en el segundo archivo, el primero tiene todo bien pero cuando intento implementar el método Accept y que me retorne un Socket me tira ese error... también es porque intento llamar el constructor de Socket si haber implementado la clase completa pero es que no puedo hacer un include de Socket dentro del segundo archivo ya que me rebota, porque ya hice un #include "Conectividad.hpp" en Socket y no se porque sucede....

Alguna sugerencia??
48  Programación / Programación C/C++ / Re: Problema con sockets en: 22 Abril 2013, 02:36 am
0xDani, hice que mi programa capturara la señal SIGPIPE, y la captura pero no se como hacer para saber cual fue exactamente el socket que tubo el problema, me entiendes??

Si captura la señal, pero no se cual fue el socket que la producío
49  Programación / Programación C/C++ / Problema con sockets en: 11 Abril 2013, 21:54 pm
Buenas estoy trabajando con sockets y he dado con un problema...

Mi servidor acepta n cantidad de clientes y los agrega a una lista, y controla todos los clientes con hilos respectivamente.

El problema esta cuando un cliente se desconecta sin avisar... esto provoca que se caiga el servidor: "(program exited with code: 141)"...

Lo que quiero saber es como puedo saber si un cliente se desconecta de forma inesperada??
Como puedo controlarlo?
50  Programación / Programación C/C++ / Re: observación de programa en c en: 3 Abril 2013, 13:13 pm
Con 2 vectores... uno para vocales y otro para consonantes

Recorriendo los por cada letra, cuando encuentra una coincidencia suma en alguno de los contadores...

solo necesitas 2 for y 2 if... creo
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 47
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines