OPTION EXPLICITARRAY: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:OPTION _EXPLICITARRAY}} | {{DISPLAYTITLE:OPTION _EXPLICITARRAY}} | ||
[[OPTION _EXPLICITARRAY]] instructs the compiler to require arrays to be properly dimensioned with [[DIM]] or [[REDIM]] before first use. However, it doesn't require regular variables to be declared. | [[OPTION _EXPLICITARRAY]] instructs the compiler to require arrays to be properly dimensioned with [[DIM]] or [[REDIM]] before first use. However, it doesn't require regular variables to be declared. | ||
{{PageSyntax}} | {{PageSyntax}} | ||
Line 11: | Line 12: | ||
=== Errors === | === Errors === | ||
* If used, [[OPTION _EXPLICITARRAY]] must be the very first statement in your program. No other statements can precede it (except for | * If used, [[OPTION _EXPLICITARRAY]] must be the very first statement in your program. No other statements can precede it (except for comment lines started with an [[Apostrophe|apostrophe]] or [[REM]]). | ||
* Do not use [[OPTION _EXPLICITARRAY]] in [[$INCLUDE]]d modules. | * Do not use [[OPTION _EXPLICITARRAY]] in [[$INCLUDE]]d modules. | ||
Latest revision as of 15:19, 25 September 2024
OPTION _EXPLICITARRAY instructs the compiler to require arrays to be properly dimensioned with DIM or REDIM before first use. However, it doesn't require regular variables to be declared.
Syntax
Description
- Normally statements like x(2) = 3 will implicitly create an array x(). OPTION _EXPLICITARRAY requires proper dimensioning for the array, helping to catch mistyped array and function names.
- Unlike OPTION _EXPLICIT, simple variables can still be used without a declaration. Example: i = 1
Errors
- If used, OPTION _EXPLICITARRAY must be the very first statement in your program. No other statements can precede it (except for comment lines started with an apostrophe or REM).
- Do not use OPTION _EXPLICITARRAY in $INCLUDEd modules.
Examples
Example: Avoiding simple typos with OPTION _EXPLICITARRAY results shown in the QB64 IDE Status area.
OPTION _EXPLICITARRAY x = 1 'This is fine, it's not an array so not affected DIM z(5) z(2) = 3 'All good here, we've explicitly DIMmed our array y(2) = 3 'This now generates an error |
QB64 IDE Status will show: Array 'y' (SINGLE) not defined on line 7
See also