Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/08/2011, 19:45
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
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!