Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You have written a For...Next loop in which the compiler cannot infer a data type for the loop control variable because the following conditions are true:
- The data type of the loop control variable is not specified with an As clause. 
- The loop bounds and step variable contain at least two data types. 
- No standard conversions exist between the data types. 
Therefore, the compiler cannot infer the data type of a loop's control variable.
In the following example, the step variable is a character and the loop bounds are both integers. Because there is no standard conversion between characters and integers, this error is reported.
Dim stepVar = "1"c
Dim m = 0
Dim n = 20
' Not valid.
' For i = 1 To 10 Step stepVar
    ' Loop processing
' Next
Error ID: BC30982
To correct this error
- Change the types of the loop bounds and step variable as necessary so that at least one of them is a type that the others widen to. In the preceding example, change the type of stepVar to Integer. - Dim stepVar = 1- —or— - Dim stepVar As Integer = 1
- Use explicit conversion functions to convert the loop bounds and step variable to the appropriate types. In the preceding example, apply the Val function to stepVar. - For i = 1 To 10 Step Val(stepVar) ' Loop processing Next
See Also
Concepts
Implicit and Explicit Conversions
Widening and Narrowing Conversions