• Viernes 15 de Noviembre de 2024, 03:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - JaMFRY

Páginas: [1]
1
C/C++ / Re: Variable Global
« en: Domingo 24 de Diciembre de 2006, 18:01 »
Perdon por la confunsion que he podido provocar,  mi caso es que yo declaro en el .hpp un variable "int M".
Y cuando llamo al constructor de la clase Citas(), en el .cpp le doy valor "M=5;"
cuando sale del constructor y llama a otra funcion que tambien utiliza la variable M, al ser otra funcion a la M tiene por valor "M=0", y este es mi problema que quiero que M siga siendo "M=5", nose si ahora se entiende un poco mejor??

Por si asi os haceis una idea, lo que estoy haciendo es una tabla de Hash, y he implementado una funcion para Redimensionar la tabla, es decir cambiar el valor de M, en el caso que haya muchas colisiones. Entonces para ello creo otro objeto de la clase:

Citas b;
b.M = 101;

En definitiva, que nose porque al salir del constructor el valor de M se me pierde.

Si intento poner "extern int M" en el .hpp como me haveis comentando me da un error: clase de almacenamiento especificado para 'M'.
Se tiende ahora más mi problema??

2
C/C++ / Re: Variable Global
« en: Domingo 24 de Diciembre de 2006, 16:00 »
He probado las 2 maneras que me haveis comentado, pero la del "extern int M", cuando lo pongo en el .hpp el g++ del linux no le mola y me da un error del comando extern.

La otra opcion que me haveis dado de poner "int M" solo en el .cpp no me sirve, ya que mas adelante creo un objeto de la clase citas, y necesito llamar a M, y como no la tengo declarada en el .hpp me da error, resumiendo que por fuerza tengo que declarar "int M" en el .hpp, ya que si hiciera lo siguente:

citas b;

b.M= 5; <--- "me dice logicamente que no hay una variable M de la clase citas".

Alguna otra sugerencia, porfavor, es que estoy encallado ahy, y una vez tenga eso ya me ira bien el resto de la clase.Merci.

3
C/C++ / Re: Variable Global
« en: Sábado 23 de Diciembre de 2006, 12:44 »
Mi codigo en el citas.cpp:
Código: Text
  1. citas::citas()
  2. {
  3.   M = 1001;
  4.   quants = 0;
  5.   taula = new node*[M];
  6.   for(int i=0; i&#60;M; i++)
  7.   {
  8.     taula[i] = NULL;
  9.   }
  10. }
  11.  
  12. y mi codigo en el citas.hpp:
  13.  
  14. int M;
  15. int quants;
  16. struct node{
  17.   string Key;
  18.   string Valor;
  19.   node* seg;
  20. };
  21. node** taula;
  22.  

alguna idea???

4
C/C++ / Variable Global
« en: Sábado 23 de Diciembre de 2006, 00:32 »
Estoy implementando una clase en C++, y dispongo del archivo.hpp de dicha clase, en el cual declaro las funciones, la estructura y una Variable Global (int M).
Despues en el archivo .cpp implento las funciones, y mi problema viene cuando en el constructor de la clase le doy valor a la variable global M, por ejemplo M=5;
hasta aqui todo correcto, pero cuando sale del constructor y llama a otra funcion, el valor de la M se me pierde y por defecto se vuelve a M=0. Y no entiendo porque sucede esto si al ser global tendria que mantener el valor de M=5.

Si me podeis hechar una mano del montivo por que me sucede esto, estaria muy agradecido.
Por si sirve de algo lo estoy haciendo en Linux en g++ v.4


Un Saludo.

Páginas: [1]