KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q32149: "Duplicate Definition" in QB.EXE; "Equals Missing" in BC.EXE

Article: Q32149
Product(s): See article
Version(s): 4.00 4.00b 4.50
Operating System(s): MS-DOS
Keyword(s): ENDUSER | B_BasicCom | mspl13_basic
Last Modified: 21-DEC-1989

If a line of code in the QuickBASIC editor begins with two occurrences
of the same nonreserved word, the second word will be correctly
flagged as a "Duplicate definition" when either the Start or Make EXE
File command is chosen on the Run menu. If the same word is used as
a variable elsewhere in the program, it will give a "Duplicate
definition" error at that occurrence of the word.

To generate the "Duplicate definition" message, enter "a a" in the
QuickBASIC editor, then choose Start on the Run menu. Please note
that the line "a a" generates a different message, "Equal sign
missing," when compiled with BC.EXE.

The "Duplicate definition" message occurs because the editor assumes
the first "a" to be the name of a SUBprogram and the second "a" to be
a parameter to be passed to the SUBprogram. Routines and variables
must have different names.

This information applies to QuickBASIC Versions 4.00, 4.00b and 4.50,
to the QuickBASIC compiler that comes with Microsoft BASIC Compiler
Versions 6.00 and 6.00b for MS-DOS and MS OS/2, and to the QBX.EXE
that comes with Microsoft BASIC PDS Version 7.00 for MS-DOS and MS
OS/2.

The following code example produces a "Duplicate definition" error on
the second "a":

   a a

The following code example produces a "Duplicate definition" error on
the first line:

   a = 1
   a a

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.