閱讀英文

共用方式為


運算式會遞迴呼叫包含運算子 '<operatorsymbol>'

運算子程序內的運算式使用所定義的運算子。 這會導致呼叫本身的運算子程序,因為正在使用的資料類型。

如果您正在定義的運算子程序搭配使用相同的運算子與下列任何一項,則會呼叫本身:

  • 您正在定義其運算子的相同運算元;

  • 您正在定義其運算子之相同資料類型的運算元;或

  • 可擴展至您正在定義其運算子之資料類型的資料類型的運算元。

「遞迴呼叫」 (recursive call) 是程序呼叫本身時。 遞迴呼叫可能會導致 「無限迴圈」(infinite loop),其中,控制項會重複通過一組相同的陳述式,直到從外部終止應用程式為止。 如果您的程式碼未包含可用來終止遞迴的一或多個測試,則會有無限迴圈的風險。

根據預設,這個訊息是一個警告。 如需隱藏警告或將警告視為錯誤的相關資訊,請參閱 Configuring Warnings in Visual Basic

錯誤 ID︰ BC42004

更正這個錯誤

  • 如果您的邏輯需要運算子程序呼叫本身,則請確定您測試至少一個發生在某個時間點的特定條件,並使用這項測試來終止遞迴呼叫。

  • 如果您的邏輯不需要運算子程序呼叫本身,則請移除任何遞迴呼叫,或將它們取代為不會呼叫其專屬程序的陳述式。

另請參閱