"Subíndice fuera de intervalo" dimensiones de una matriz dinámica numérica

Seleccione idioma Seleccione idioma
Id. de artículo: 21964
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Resumen

Problema:

Puede dimensión de una matriz unidimensional dinámico entero con 32.000 elementos; sin embargo, aparece el mensaje "Subíndice fuera de intervalo" dimensionamiento de una matriz de bidimensional de enteros con 30.000 sólo elementos. El siguiente es un ejemplo:
   Rem $dynamic
   dim b%(32000) 'this is okay
   dim c%(10,2850) 'this is also okay
   dim a%(10,3000) ' this will give a "subscript out of range" error
				
respuesta:

La instrucción DIM A%(10,3000) supera el límite de tamaño de 64 K que existe para cada matriz numérica dinámico. En QuickBasic versión 4.00 y mayor, puede compilar con QB /AH o BC /AH para permitir numérico dinámico (o cadena de longitud fija) matrices exceder de 64 KB. El modificador /AH no está implementado en QuickBasic 3.00 y versiones anteriores.

Una matriz dimensioned B%(32000) DIM realmente tiene 32,001 elementos porque el recuento comienza en el elemento 0 de forma predeterminada, y la matriz ocupará 64,002 bytes, ya que hay dos bytes por elemento entero.

Puede cambiar el valor predeterminado 1 elemento a partir de la opción instrucción BASE 1. Una matriz dimensioned C%(10,2850) DIM realmente tiene 31,361 elementos (11 multiplicado por 2,851) que podrían tardar hasta 62,722 bytes. Una matriz de enteros ajusta (10,3000) da un error "Subíndice fuera del intervalo" porque tiene 33,011 elementos o 66.022 bytes, que supera el límite de tamaño de matriz numérica dinámico de 65.536 bytes (64 KB).

Observe que hay 1.024 bytes por kilobytes (KB), por lo tanto, 64 KB multiplicado por 1024 bytes por kilobytes es igual a 65.536 bytes.

Propiedades

Id. de artículo: 21964 - Última revisión: domingo, 23 de febrero de 2014 - Versión: 1.2
Palabras clave: 
kbnosurvey kbarchive kbmt KB21964 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 21964

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com