2012-05-11 173 views
0
Public Function insert(x As Integer) 
    If front = 0& & rear = n - 1 Or rear + 1 = front Then 
    MsgBox "queue FULL !!!", vbOKOnly, "QUEUE" 
    ElseIf front = -1 Then 
    front = rear = 0 
    ElseIf rear = n - 1 Then 
    rear = 0 
    Else 
    rear = rear + 1 
    End If 
    arr(rear) = x 
    MsgBox x, vbOKOnly, "INSERTED" 
    List1.AddItem x 
End Function 

这是一个循环队列的insert()。我正在一个错误“如果前面= 0 & &后部= N - 1或后部+ 1 =前然后”
误差是“运行时错误‘13’类型不匹配”。在visualbasic6中实现循环队列

回答

0

这也是wron克

front = rear = 0 

应该是

front = 0 
rear = 0 

=具有VB6 含义

  • =是等于运算符,相同==在一个类C语言
  • =也是赋值语句nt,就像=运营商类似c语言
1

我认为你的意思

If front = 0& & rear = n - 1 Or rear + 1 = front Then 

If front = 0 And rear = n - 1 Or rear + 1 = front Then 

,你可能真的意味着

If (front = 0 And rear = n - 1) Or rear + 1 = front Then 

和你混的 “X” 和 “n”

+0

他可能也意味着不使用VB6。 *不好意思,你知道我总是说什么,“随着生活,和VB6一样:出错了,然后继续。” – aquinas

+0

耶问题sloved ....但现在我在“ARR(后)= X”得到一个错误 错误是:“下标越界” – rick

+0

显然你的阵列ARR比后 – Gratzy