Help: Compile error: type mismatch: array or user defined type expected

  • Thread starter Thread starter lvcha.gouqizi
  • Start date Start date
L

lvcha.gouqizi

Hi there,

I defined a type named testArray and student() as an array of testArray
type. The compiler always reports "array or user defined type expected"
compile error no matter how I give the array parameter to the function.

Public Type testArray
age() As Integer
End Type


Sub calling()
Dim student() As testArray
called (student)
End Sub

Sub called(ByRef temparray() As testArray)
temparray(1).age(1) = 20
End Sub

What's wrong with called(student)?

I also tried called(student()). It doesn't work either.
 
First things first. Get rid of the brackets for the Called sub. They will
mess things up. You can either have

Call Called(student())
or
Called Sutdent()

Secondly you need to define the array sizes. Either explicitly when they are
created or through a redim

Public Type testArray
age(5) As Integer
End Type


Sub calling()
Dim student(10) As testArray

called student()
End Sub

Sub called(ByRef temparray() As testArray)
temparray(1).age(1) = 20
End Sub
 
Back
Top