<unknown>Recibe un "error C2233: '<desconocido>': las matrices de objetos que contienen matrices de tamaño cero no son válidas" mensaje de error en Visual C++ cuando compila una clase de plantilla que contiene un miembro de datos

Seleccione idioma Seleccione idioma
Id. de artículo: 216977 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se compila una clase de plantilla que contiene a un miembro de datos que es una matriz de una segunda clase de plantilla, y la segunda clase contiene a un miembro de datos que es una matriz, y el tamaño de ambas matrices es dependiente de un parámetro de plantilla, puede aparecer el siguiente error:
<unknown>Error C2233: '<desconocido>': las matrices de objetos que contienen matrices de tamaño cero no son válidas

Solución

Utilice un puntero en lugar de una matriz. Asignar el espacio de la matriz en el constructor y desasignar el espacio de la matriz en el destructor.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo.

Este error se ha solucionado en Microsoft Visual Studio 6.0 Service Pack 5 (SP5).

Para descargar service pack 5, consulte la página actualizaciones de productos de Visual Studio en el siguiente sitio Web en: http://support.microsoft.com/kb/280367

Más información

Pasos para reproducir este comportamiento

template <int k>
class A
{
    char x[k];
};

template <int h, int j>
class B  
{
     A<h> y[j];
};
				

Solución

template <int k>
class A
{
    char *x;
    A() {
        x = new char[k];
    }
    ~A() {
        delete[] x;
    }
};
template <int h, int j>
class B  
{
     A<h> y[j];
};
				

Propiedades

Id. de artículo: 216977 - Última revisión: domingo, 23 de febrero de 2014 - Versión: 4.4
La información de este artículo se refiere a:
  • Microsoft Visual C++ 6.0 Enterprise
  • Microsoft Visual C++ 6.0 Professional
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Palabras clave: 
kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbbug kbcompiler kbcpponly kbfix kbvc600fix KB216977 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): 216977

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