Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Paso de variables tipo *** y **

Estas en el tema de Paso de variables tipo *** y ** en el foro de C/C++ en Foros del Web. Hola foreros. Mi duda es sencilla. Tengo un array de 3 dimensiones. float*** pepita = new float[a][b][c]; Y ahora quiero pasaro a una funcion que ...
  #1 (permalink)  
Antiguo 15/06/2012, 03:54
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
Paso de variables tipo *** y **

Hola foreros.

Mi duda es sencilla.

Tengo un array de 3 dimensiones.

float*** pepita = new float[a][b][c];

Y ahora quiero pasaro a una funcion que recibe:

funcion (float** variable)



para llamar a esta funcion hago:

funcion(pepita[1]) por ejemplo.

Pero me dice que no se puede. Que no es del tipo adecuado y me sale un chorro de funcion que evidentemente no es compatible para nada con la que yo he declarado.


He intentado hacer casting. He intentado crear otra variable

float** pepitaPeque = pepita[1];

y tampoco vale. Me sigue diciendo lo mismo.



También he probado , en la desesperacion, de hacerlo estático

float pepita [a][b][c];

y pasarlo con pepita[1]. Pero me dice que para definir la funcion con entradas de parametro de más de 1 dimensión, debo indicar el tamaño en la declaracion, y eso no se puede. O sea que esto, descartado.




Alguien sabe algo de esto?
__________________
Darkgaze
  #2 (permalink)  
Antiguo 15/06/2012, 06:18
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Paso de variables tipo *** y **

Si no recuerdo mal, no se puede declarar esto así:

Código C++:
Ver original
  1. float*** pepita = new float[a][b][c];

Tendría que ser así:

Código C++:
Ver original
  1. float*** pepita = new float**[a];
  2.  
  3. for(int i=0;i<a;i++){
  4.  pepita[i] = new float*[b];
  5.  for(int j=0;j<b;j++){
  6.   pepita[i][j] = new float[c];
  7. }
  8. }

A ver si así te funciona.

Saludos.

Etiquetas: funcion, int, paso, tipo, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:26.