<unknown>Recebe um "erro C2233: '<desconhecido>': matrizes de objectos com matrizes de tamanho zero são ilegais" mensagem de erro no Visual C++ quando compilar uma classe de modelo que contém um membro de dados

Traduções de Artigos Traduções de Artigos
Artigo: 216977 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando compilar uma classe de modelo que contém um membro de dados que é uma matriz de uma classe de modelo segunda, e a classe segundo contém um membro de dados que é uma matriz e o tamanho das duas matrizes está dependente de um parâmetro de modelo, poderá receber o seguinte erro:
<unknown>Erro C2233: '<desconhecido>': matrizes de objectos com matrizes de tamanho zero são ilegais

Resolução

Utilize um ponteiro em vez de uma matriz. Atribuir o espaço para a matriz no construtor e deallocate o espaço para a matriz do processo de destruição.

Ponto Da Situação

A Microsoft confirmou que este é um erro no Microsoft produtos listados no início deste artigo.

Este erro foi corrigido no Microsoft Visual Studio 6.0 Service Pack 5 (SP5).

Para transferir o service pack 5, consulte a página actualizações de produtos de Visual Studio no seguinte Web site da Microsoft em: http://support.microsoft.com/kb/280367

Mais Informação

Passos para reproduzir o comportamento

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

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

Solução

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];
};
				

Propriedades

Artigo: 216977 - Última revisão: 23 de fevereiro de 2014 - Revisão: 4.4
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Palavras-chave: 
kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbbug kbcompiler kbcpponly kbfix kbvc600fix KB216977 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 216977

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