表达式递归调用包含运算符“<operatorsymbol>”

运算符过程内的表达式使用正在定义的运算符。 这会导致该运算符过程由于所用数据类型而调用其自身。

如果你正在定义的运算符过程与以下任何一项使用相同的运算符,则它将调用其自身:

  • 正在为其定义运算符的操作数;

  • 正在为其定义运算符的数据类型的操作数;或

  • 扩大到正在为其定义运算符的数据类型的数据类型的操作数。

递归调用 即过程调用其自身。 递归调用可能会导致 无限循环,控制权在同一组语句间反复传递,直至从外部终止你的应用程序。 如果你的代码不包含可用于终止递归的一个或多个测试,则可能出现无限循环。

默认情况下,此消息是一个警告。 有关隐藏警告或将警告视为错误的信息,请参见 Configuring Warnings in Visual Basic

错误 ID: BC42004

更正此错误

  • 如果你的逻辑需要运算符过程调用其自身,请确保测试在某一点必然出现的至少一个条件,并使用此测试来终止递归调用。

  • 如果你的逻辑不需要运算符过程调用其自身,请删除任何递归调用,或将其替换为不调用其自身过程的语句。

另请参阅