Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Seu código contém um loop For...Next no qual o compilador não pode inferir um tipo de dados para a variável de controle de loop porque as seguintes condições são verdadeiras:
O tipo de dados da variável de controle de loop não é especificado com uma cláusula
As.Os limites de loop e a variável de etapa contêm pelo menos dois tipos de dados.
Existe mais de uma conversão possível entre os tipos de dados.
Não há o melhor tipo entre os candidatos, de modo que a escolha do tipo para a variável de controle de loop seja ambígua.
Por exemplo, o seguinte loop tem um limite de loop do tipo Integer e um limite de loop do tipo UInteger:
Dim m As Integer = 1
Dim n As UInteger = 10
' Not valid.
' For i = m To n
' Loop processing.
' Next
Há uma possível conversão entre Integer e UInteger e uma possível conversão entre UInteger e Integer, mas ambas são conversões de restrição, portanto, nenhuma das duas é a melhor opção.
No exemplo a seguir, uma terceira variável de tipo Double é adicionada. Ambos Integer e UInteger têm conversões de expansão padrão para Double, o que faz a conversão para Double a melhor opção. A inferência de tipo atribui à variável de controle de loop i o tipo de dados Double.
Dim stepVar As Double = 1
' Valid.
For i = m To n Step stepVar
' Loop processing.
Next
ID do Erro: BC30983
Para corrigir este erro
Converta explicitamente uma das variáveis em um tipo para o qual as outras têm uma conversão de expansão, por exemplo:
For i = m To CLng(n)Use uma cláusula
Aspara especificar o tipo da variável de controle:For i As Double = m To n