With VB6 came the ability to return arrays from functions. Returning an uninitialized array is a problem because there is no easy way?other than error-trapping?to find whether an array has been dimensioned. Also, ReDim myArr(-1) does not work. You can use the Split function to return an empty array?one with no elements and no data&$151;and an LBound of 0 and an UBound of -1. This practice simplifies code for looping through the returned array:
Private Function Foo(args...) As String()Dim myArr() As String' Initialize array dimensions as 0 to -1myArr = Split("")If Condition ThenReDim myArr(n)' further processing...End IfFoo = myArrEnd Function
Here, no additional checking is required to use Foo. But omitting the call to Split can lead to a “Subscript out of range” error in a routine that attempts to use Foo