| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 31 Mar, 2004 3:15 pm Asunto: Array vacío ? |
|
|
Tengo que crear un array del tipo AnsiString cuyo número de posiciones ya conozco de antemano, el valor de cada una de ellas lo tengo que insertar a través de un bucle for(). Intento inicializar el array de la siguiente forma pero me salta un error:
int num_items = lista_items->Count;
AnsiString mi_array[num_items];
El error es "Constant expression required".
en cambio si lo hago así no falla:
AnsiString mi_array[5];
Repito que los valores de cada uno de los elementos se los añado más tarde, lo que me interesa es inicializar el array vacío. Seguro que es una tontería, pero ese día falté a clase
. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
masBecas Lt

Registrado: 23 Oct 2003Mensajes: 98Ubicación: La Laguna, Tenerife
|
Publicado: Mie 31 Mar, 2004 4:33 pm Asunto: |
|
|
Hola Tugui
El error viene porque estás intentando hacer un array estático pero indicándole el tamaño dinámicamente, y esto no se puede hacer en C.
Para hacer lo que tu quieres deberías hacer
| Código: |
int num_items = lista_items->Count;
AnsiString *mi_array;
my_array = new AnsiString[num_items];
|
Ah, y no olvides liberar la memoria al terminar de usar el array:
| Código: |
delete []my_array;
|
|
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 31 Mar, 2004 6:14 pm Asunto: |
|
|
Muuuuuuchas gracias masBecas, es justo lo ke andaba buscando, funciona perfecto, . Saludos. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
|