写入了 For...Next
循环,编译器在其中无法为循环控制变量推断数据类型,因为满足以下条件:
未在
As
子句中指定循环控制变量的数据类型。循环边界和步骤变量包含至少两种数据类型。
数据类型之间不存在标准转换。
因此,编译器无法推断循环的控制变量的数据类型。
在以下示例中,步骤变量是一个字符,两个循环边界都是整数。 由于字符和整数之间没有标准转换,因此将报告此错误。
Dim stepVar = "1"c
Dim m = 0
Dim n = 20
' Not valid.
' For i = 1 To 10 Step stepVar
' Loop processing
' Next
错误 ID:BC30982
更正此错误
如有必要,请更改循环边界和步骤变量的类型,以便其中至少有一个类型是其他边界和步骤变量扩大到的类型。 在上一示例中,请将
stepVar
的类型更改为Integer
。Dim stepVar = 1
-或-
Dim stepVar As Integer = 1
使用显式转换函数将循环边界和步骤变量转换为适当的类型。 在上一示例中,对于
stepVar
应用Val
函数。For i = 1 To 10 Step Val(stepVar) ' Loop processing Next