2014-10-14 4 views
0

내 프로그램의 목표는 기본 프로 시저에서 하위 프로 시저를 호출하여 1 차원 배열을 초기화하는 것입니다. 그래도 "TestScores"에서 루프에 대한 초기화 루프에서 표현식이 배열이나 메서드가 아니라는 오류가 발생합니다. 주 기능에서 TestScores가 상한선이 10 인 배열임을 선언했습니다. 무엇을 잘못하고 있습니까?Visual Basic 초기화 배열 오류

'Author: Michael Barney 
Option Explicit On 
Option Strict On 

Module Module1 

    Sub Main() 

     Dim Index As Integer 
     Dim TestScores(10) As Double 

     InitializeArray(TestScores) 
     PrintArray(TestScores) 

     LoadArray(TestScores) 
     PrintArray(TestScores) 

     SearchArray(TestScores) 

    End Sub 


    Sub InitializeArray(ByRef TestScores As Double) 
     Console.WriteLine("Entering: -----------------------> InitializeArray") 
     Dim Index As Integer 

     For Index = 0 To 10 
      TestScores(Index) = 0.0 
     Next Index 

     Console.WriteLine("Exiting: -----------------------> InitializeArray") 
    End Sub 



    Sub PrintArray(ByVal TestScores As Double) 
     Console.WriteLine("Entering: -----------------------> PrintArray") 
     'Your code goes here... 
     Console.WriteLine("Exiting: -----------------------> PrintArray") 
    End Sub 



    Sub LoadArray(ByVal TestScores As Double) 
     Console.WriteLine("Entering: -----------------------> LoadArray") 
     'Your code goes here... 
     Console.WriteLine("Exiting: -----------------------> LoadArray") 
    End Sub 



    Sub SearchArray(ByVal TestScores As Double) 
     Console.WriteLine("Entering: -----------------------> SearchArray") 
     'Your code goes here... 
     Console.WriteLine("Exiting: -----------------------> SearchArray") 
    End Sub 



End Module 

답변

1

당신은 TestScores를 Double의 배열이 아닌 Double로 사용합니다.

Sub InitializeArray(ByRef TestScores As Double) 

이 변화는 또한뿐만 아니라 다른 모든 잠수정을 할 필요가

Sub InitializeArray(ByRef TestScores() As Double) 

이어야한다.