Freigeben über


Der Ausdruck ruft rekursiv den enthaltenden <Operatorsymbol>-Operator auf

Aktualisiert: November 2007

Expression recursively calls containing Operator '<operatorsymbol>'

In einem Ausdruck in einer Operatorprozedur wird der zu definierende Operator verwendet. Dies führt aufgrund der verwendeten Datentypen dazu, dass sich die Operatorprozedur selbst aufruft.

Die zu definierende Operatorprozedur ruft sich selbst auf, wenn sie denselben Operator mit folgenden Operanden verwendet:

  • dieselben Operanden, für die Sie den Operator definieren,

  • Operanden mit demselben Datentyp, für den Sie den Operator definieren, oder

  • Operanden mit einem Datentyp, der zu dem Datentyp erweitert wird, für den Sie den Operator definieren.

Der Aufruf einer Prozedur durch sich selbst wird als rekursiver Aufruf bezeichnet. Rekursive Aufrufe können zu einer Endlosschleife führen, in der die Steuerung immer wieder an denselben Satz von Anweisungen übergeben wird, bis die Anwendung extern beendet wird. Wenn der Code nicht einen oder mehrere Tests enthält, mit denen die Rekursion beendet werden kann, besteht die Gefahr einer Endlosschleife.

Standardmäßig ist diese Meldung eine Warnung. Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC42004

So beheben Sie diesen Fehler

  • Wenn die Logik erfordert, dass die Operatorprozedur sich selbst aufruft, müssen Sie mindestens eine Bedingung testen, die mit Sicherheit an einem bestimmten Punkt auftritt, und diesen Test zum Beenden rekursiver Aufrufe verwenden.

  • Wenn die Logik nicht erfordert, dass die Operatorprozedur sich selbst aufruft, entfernen Sie rekursive Aufrufe, oder ersetzen Sie sie durch Anweisungen, die nicht die eigene Prozedur aufrufen.

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Operators

Gewusst wie: Definieren eines Konvertierungsoperators

Konzepte

Operatorprozeduren

Referenz

Operator-Anweisung