Dela via


Uttryck anropar rekursivt med operatorn operatorns operatorsymbol<>

Ett uttryck inom en operatorprocedur använder operatorn som definieras. Detta resulterar i att operatorproceduren anropar sig själv på grund av de datatyper som används.

Operatorproceduren som du definierar själva anropen om den använder samma operator med något av följande:

  • Samma operander som du definierar operatorn för.

  • Operander av samma datatyper som du definierar operatorn för. Eller

  • Operander av datatyper som utvidgas till de datatyper som du definierar operatorn för.

Ett rekursivt anrop är när en procedur anropar sig själv. Rekursiva anrop kan resultera i en oändlig loop, där kontrollen passerar genom samma uppsättning instruktioner upprepade gånger tills programmet avslutas externt. Om koden inte innehåller ett eller flera tester som kan användas för att avsluta rekursionen riskerar du en oändlig loop.

Som standard är det här meddelandet en varning. Information om hur du döljer varningar eller behandlar varningar som fel finns i Konfigurera varningar i Visual Basic.

Fel-ID: BC42004

Så här åtgärdar du det här felet

  • Om logiken kräver att operatorproceduren anropar sig själv måste du testa för minst ett villkor som säkert inträffar någon gång och använda det här testet för att avsluta rekursiva anrop.

  • Om din logik inte kräver att operatorproceduren anropar sig själv tar du bort eventuella rekursiva anrop eller ersätter dem med instruktioner som inte anropar sin egen procedur.

Se även