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
(Created page with "{{DISPLAYTITLE:OPTION _EXPLICITARRAY}} OPTION _EXPLICITARRAY instructs the compiler to require arrays be declared with DIM, REDIM or equivalent. {{PageSyntax}} : OPTION _EXPLICITARRAY {{PageDescription}} * Normally statements like {{InlineCode}}x(2) = 3{{InlineCodeEnd}} will implicitly create an array x(). OPTION _EXPLICITARRAY requires a preceding declaration for the array, helping to catch mistyped array and function names. * Unlike OPTION _E...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:OPTION _EXPLICITARRAY}} | {{DISPLAYTITLE:OPTION _EXPLICITARRAY}} | ||
[[OPTION _EXPLICITARRAY]] instructs the compiler to require arrays be | [[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 7: | Line 7: | ||
{{PageDescription}} | {{PageDescription}} | ||
* Normally statements like {{InlineCode}}x(2) = 3{{InlineCodeEnd}} will implicitly create an array x(). [[OPTION _EXPLICITARRAY]] requires | * Normally statements like {{InlineCode}}x(2) = 3{{InlineCodeEnd}} 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: {{InlineCode}}i = 1{{InlineCodeEnd}} | * Unlike [[OPTION _EXPLICIT]], simple variables can still be used without a declaration. Example: {{InlineCode}}i = 1{{InlineCodeEnd}} | ||
Revision as of 21:34, 7 January 2023
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
- If used, OPTION _EXPLICITARRAY must be the very first statement in your program. No other statements can precede it (except for $NOPREFIX or 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