30/08/2011, 19:45
|
| | Fecha de Ingreso: abril-2010 Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses Puntos: 228 | |
Respuesta: ¿Cómo llamo/utilizo un array multidimensional en una función fuera de main Por otro lado a la funcion le estas pasando referencia de un elemento del array que no existe.. ya que en c/c++ los arreglos empiezan con indice 0 y terminan con N-1 en tu caso 2.
Ademas de esa forma estarias pasando la referencia del ultimo (si estuvieses permitido). Lo que tienes que pasar es la referencia del arreglo, del primer elemento.
TB(cuad);
Despues cuando defines la funcion estas haciendo mal los tipos.
int TB(char *cuad[3][3])
Eso seria una referencia a un arreglo bidimencional y lo que tu quieres es un arreglo. Cuando se pasa un arreglo este siempre va por referencia asi que no sirve para nada pasar la cantidad de elementos. C/C++ son lenguajes de bajo nivel...se maneja memoria mas directa no como en otros lenguajes que un arreglo es un paquete y va entero....
Asi que la definicion podria ser:
int TB(char **cuad) // Doble puntero a char, arreglo bidimensional.
Por ultimo la asignacion como la hiciste no esta permitida. Tienes que copiar uno a uno cada elemento del array.
Estos son conceptos dificiles de entender....pero con la practica se puede! |