表达式以递归方式调用包含运算符“<operatorsymbol>”
更新:2007 年 11 月
运算符过程内的表达式使用了所定义的运算符。这将导致运算符过程调用本身,原因是这些数据类型正在被使用。
如果您所定义的运算符过程将同一运算符用于以下任意一项,该过程将会调用自身:
正在为其定义运算符的相同操作数;
正在为其定义运算符的相同数据类型的操作数;或者
数据类型已扩展为您正在为其定义运算符的数据类型的操作数。
当过程调用自身时,将发生递归调用。 递归调用可能会导致无限循环,在无限循环中,控制权会在同一组语句中反复传递,直至从外部终止您的应用程序为止。如果代码未包括一个或多个可用于终止递归的测试,则存在出现无限循环的风险。
默认情况下,此消息是一个警告。有关隐藏警告或将警告视为错误的信息,请参见 在 Visual Basic 中配置警告。
**错误 ID:**BC42004
更正此错误
如果逻辑上要求运算符过程调用自身,请确保至少针对一个在某个时候一定会发生的条件进行测试,并使用此测试来终止递归调用。
如果逻辑上不要求运算符过程调用自身,请移除任何递归调用,或将其替换为不调用自身过程的语句。