Pasar matriz bidimensional a estrucutra

Iniciado por amchacon, 9 Julio 2013, 22:42 PM

0 Miembros y 1 Visitante están viendo este tema.

amchacon

Tengo una matriz tal que:

Código (cpp) [Seleccionar]
char Matriz[29][31];

Quiero pasar una referencia de esta a una estructura como si la pasase a una función. No me vale copiarla porque quiero que se reflejen los cambios... ¿Alguna idea?
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

rir3760

¿C o C++?

En C lo mas cercano a una referencia consiste en declarar el campo como "char (*Matriz)[31];" y llevar nota manualmente del numero de elementos.

En C++ el tipo debe ser "char (&Matriz)[29][31];".

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

amchacon

Cita de: rir3760 en 10 Julio 2013, 02:43 AM
¿C o C++?

En C lo mas cercano a una referencia consiste en declarar el campo como "char (*Matriz)[31];" y llevar nota manualmente del numero de elementos.

Un saludo
C++

El tipo que has puesto no es válido:
Código (cpp) [Seleccionar]
struct Datos
{
 //...
 char (&Tablero[31][29]);
};


Citarerror: la declaración de 'Tablero' como una matriz de referencias|

¡Un saludo!  :D
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

CCross

Cita de: amchacon en 10 Julio 2013, 02:51 AM
El tipo que has puesto no es válido:
Código (cpp) [Seleccionar]
struct Datos
{
 //...
 char (&Tablero[31][29]);
};


Es un error de sintaxis los parentesis solo abarcan el nombre de la matriz como ha indicada
el amigo rir3760 mas arriba.

Saludos

amchacon

Perfecto, además tenía que añadir un contructor para inicializar la referencia:

Código (cpp) [Seleccionar]
Datos(char (&tablero)[29][31]) : Tablero(tablero) {}

¡Muchas gracias!  :-*
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar