Partilhar via


Expressão chama recursivamente o Operador recipiente '<operatorsymbol>'.

Uma expressão em um procedimento de operador utiliza o operador que está sendo definido.Isso resulta na procedimento de operador chamando a si mesmo devido aos tipos de dados que estão sendo usados.

O procedimento de operador que você está definindo chama a si mesmo se ele usa o mesmo operador com qualquer um destes procedimentos:

  • Os mesmos operandos para o qual você está definindo o operador;

  • Os operandos dos mesmos tipos de dados para o qual você está definindo o operador; ou

  • Operandos dos tipos de dados que ampliam para os tipos de dados para o qual você está definindo o operador.

Uma chamada recursiva ocorre quando um procedimento chama a si mesmo.Chamadas recursivas podem resultar em um loop infinito, em que se passa o controle pelo mesmo conjunto de instruções repetidamente até que seu aplicativo seja encerrado externamente.Se o seu código não incluir um ou mais testes que podem ser usados para terminar a recursão, há risco de loop infinito.

Por padrão, essa é uma mensagem de aviso.Para informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando Avisos (Warnings) no Visual Basic.

ID de erro: BC42004

Para corrigir este erro

  • Se sua lógica requer que o procedimento de operador chame a si mesmo, então não deixe de testar pelo menos uma condição que, com certeza, ocorrerá em algum ponto e usar este teste para finalizar as chamadas recursivas.

  • Se sua lógica não exigir que procedimento de operador chame a si mesmo, remova todas as chamadas recursivas ou as substitua pelas instruções que não chamam seu próprio procedimento.

Consulte também

Tarefas

Como: Definir um operador

Como: Define a Conversion operador

Conceitos

Procedimentos de Operador

Referência

Declaração Operator