A expressão chama recursivamente o Operador recipiente “<operatorsymbol>”

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

O procedimento de operador que você está definindo chama ele mesmo se estiver usando o mesmo operador com qualquer um dos seguintes:

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

  • Operandos dos mesmos tipos de dados para os quais você está definindo o operador; ou

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

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

Por padrão, esta mensagem é um aviso. Para obter mais informações sobre como ocultar avisos ou tratar os avisos como erros, consulte Configurar avisos no Visual Basic.

ID do erro: BC42004

Para corrigir este erro

  • Se sua lógica exigir que o procedimento de operador chame a si mesmo, certifique-se de testar pelo menos uma condição que certamente ocorrerá em algum momento e use esse teste para encerrar as chamadas recursivas.

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

Confira também