Why am I unable to set the size of an array based on a variable? What’s the best way around this?
Dim NumberOfZombies as integer
NumberOfZombies = 20000
Dim Zombies(NumberOfZombies) as New Zombie
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You can use a dynamic array when you don’t know the number of values it will contain until run-time:
Or you could do everything with one statement if you’re creating an array that’s local to a procedure:
Fixed-size arrays require the number of elements contained to be known at compile-time. This is why you can’t use a variable to set the size of the array—by definition, the values of a variable are variable and only known at run-time.
You could use a constant if you knew the value of the variable was not going to change:
but there’s no way to cast between constants and variables. They have distinctly different meanings.