Você está offline; aguardando reconexão

Descrição do erro de tempo de execução R6025 no Visual C++

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 125749
Sumário
Este artigo descreve um problema que pode ocorrer quando você estiver desenvolvendo um programa. Se você ainda estiver enfrentando um problema semelhante ao descrito neste artigo, ele pode ser um problema diferente. Para procurar por problemas relacionados a um problema específico, inclua o nome do produto na sua pesquisa para restringir os resultados. Para solucionar problemas semelhantes, consulte a seção "problemas semelhantes e resoluções" deste artigo.
Sintomas
O programa falha e relata o seguinte erro de tempo de execução:
Erro de tempo de execução R6025
-chamada de função virtual pura
Causa
Este erro ocorre quando seu aplicativo indiretamente chama uma função de membro virtual puro em um contexto onde uma chamada para a função não é válida. Na maioria dos casos, o compilador detecta isso e informa o erro ao criar o aplicativo. Mas, dependendo de como o código é escrito, às vezes, o problema é detectado apenas em tempo de execução.

O erro ocorre quando você indiretamente chama uma função virtual pura dentro do contexto de uma chamada ao construtor ou destrutor de uma classe base abstrata. Isso é ilustrado no exemplo de código abaixo, junto com alguns descrição mais.
Resolução
Chamar uma função essencialmente virtual é um erro de programação, então você precisa localizar a chamada de função virtual pura e reescrever o código para que ele não é chamado.

Uma maneira de localizar uma chamada para uma função virtual pura é substituir a função virtual pura por uma implementação que chama a função de API do Windows DebugBreak. Usando o depurador, DebugBreak criará um ponto de interrupção codificado. Quando o código deixar de rodar nesse ponto de interrupção, você pode exibir a pilha de chamadas para ver onde a função foi chamada.

Outra maneira de localizar uma chamada para uma função virtual pura é definir um ponto de interrupção na função _purecall que é encontrada em PureVirt.c. Recentes sobre esta função tem a vantagem de manter a pilha intactos, para que você possa rastrear o que está ocorrendo.
Situação
Esse comportamento é pré-definido.
Mais Informações
Para obter mais informações, consulte a página "C Run-Time erros R6002 através de R6025" da seção "Criar erros" no seguinte site do Microsoft Developer Network (MSDN):Observação: O erro R6025 não está documentado no manuais ou na Ajuda on-line incluída com o Visual C++, versões 2. x ou abaixo. No entanto, rapidamente é abordado na parte 3 do arquivo wri fornecido com o Visual C++ versão 2.0.

Código de exemplo

   /* Compile options needed: none   */    class A;   void fcn( A* );   class A   {   public:       virtual void f() = 0;       A() { fcn( this ); }   };   class B : A   {       void f() { }   };   void fcn( A* p )   {       p->f();   }   // The declaration below invokes class B's constructor, which   // first calls class A's constructor, which calls fcn. Then   // fcn calls A::f, which is a pure virtual function, and   // this causes the run-time error. B has not been constructed   // at this point, so the B::f cannot be called. You would not   // want it to be called because it could depend on something   // in B that has not been initialized yet.   B b;   void main()   {   }				
Problemas semelhantes e resoluções
Se você ainda estiver enfrentando um problema semelhante ao descrito neste artigo, ele pode ser um problema diferente. Para obter mais informações sobre problemas semelhantes e resoluções, clique nos números abaixo para visualizar os artigos na Base de Conhecimento da Microsoft:
240437 Erro de tempo de execução do Money: "R6025-chamada de função virtual pura"
308260 Como solucionar problemas de erros de script no Internet Explorer 6 e Internet Explorer 7 em computadores baseados no Windows 2000, baseado no Windows XP, com base em Windows Server 2003 ou com o Windows Vista
267572 WD2000: Mensagem de erro: "Run-time Error '5'" ao iniciar o Word
170409 SBFM97: Erros de tempo de execução de MS Visual C++ importação de dados do Quickbooks
309299 Erro de tempo de execução quando você navega para algumas páginas da Web
8.00 8.00c 9,00

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 125749 - Última Revisão: 07/03/2016 17:13:00 - Revisão: 11.0

Microsoft Visual C++ 2008 Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Visual C++ 5.0 Professional Edition, Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 2.0 Professional Edition, Microsoft Visual C++ 1.5 Professional Edition

  • kbresolve kbtshoot kbcompiler kbcpponly kberrmsg kbprb kbmt KB125749 KbMtpt
Comentários
&t=">