Quería saber si hay alguna forma de definir el tamaño de un array bidimensional mediante variables e inicializarlo. Ejemplo:
Código
#include <iostream> using namespace std; int main () { int columna = 3; int linea = 3; int array[columna][linea] = {5, 1, 2, 5, 1, 2, 5, 1, 2}; return 0; }
Esto da el siguiente error: error: variable-sized object 'array' may not be initialized|
Sin embargo si no lo inicializo el mismo código funciona bien:
Código
#include <iostream> using namespace std; int main () { int columna = 3; int linea = 3; int array[columna][linea]; return 0; }
O si lo inicializo pero defino el tamaño del array mediante valores numéricos y no variables también funciona bien:
Código
#include <iostream> using namespace std; int main () { int array[3][3] = {5, 1, 2, 5, 1, 2, 5, 1, 2}; return 0; }
Entiendo que si el tamaño lo definimos con variables no es lógico que lo inicialicemos porque al variar el valor de la variable y definir de nuevo el array pueden no caber todos los elementos. Pero quizá haya algún "truquillo" puesto que la idea es aumentar el tamaño de los array (no en tiempo de ejecución logicamente) y eso no supondría ningún problema al compilar.
¿Alguna idea para que funcione el primer ejemplo?. Gracias.