2009-09-01 3 views
1

VB6에서는 식별자를 빈 배열 인덱스로 미리 배열 할 수 있습니다. 예를 들어 :Visual Basic 6 빈 배열 인덱스

Dim x(0 To 20) As Integer 
x(0) = 1 
Debug.Print x(0) 
Debug.Print x()(0) 

디버그 문은 빈 인덱스가 마지막 문에서 인덱스 전에 배열에 주어진 경우에도, 같은 일에 나타납니다. 누구는 이것이 무엇인지, 왜 이것이 작동 하는지를 알고 있습니까?

답변

4

누구에게 이것이 무엇이며 왜 작동하는지 알고 있습니까?

그것은 컴파일러에 "버그"입니다 : 선언과 구문의 일관성의 이유로, xx()로 기록 될 수 배열에 대한 참조; 따라서, 다음과 같은 코드를 작성할 수 있습니다 : 음

Dim x() As Integer 
x() = SomeFunctionReturningAnArray() 

을, 일부 프로그래머들은이 x = …을 쓰는 것보다 더 일관된 생각합니다. (나는 또한 그렇게 생각했다.) 배열을 역 참조하기 전에 사용할 수 있다는 것은 구문 유효성 검사의 단점이다.