PRB: C2106 Using FP_SEG() and FP_OFF(), Header File Missing

Last reviewed: July 17, 1997
Article ID: Q26588
5.00 5.10 6.00 6.00a 6.00ax 7.00 | 5.00 5.10 6.00 6.00a | 1.00 1.50
MS-DOS                           | OS/2                 | WINDOWS
kbtool kbprb

The information in this article applies to:

  • Microsoft C for MS-DOS, versions 5.0, 5.1, 6.0, 6.0a, and 6.0ax
  • Microsoft C for OS/2, versions 5.0, 5.1, 6.0, and 6.0a
  • Microsoft C/C++ for MS-DOS, version 7.0
  • Microsoft Visual C++ for Windows, versions 1.0 and 1.5

SYMPTOMS

An attempt to use the FP_SEG() or FP_OFF() macros fails and the compiler generates:

   error C2106: ' = ' : left operand must be l-value

CAUSE

The application uses _FP_SEG() or _FP_OFF as an l-value, but does not

#include the DOS.H header file.

When the source code does not include the DOS.H header file, the compiler treats FP_SEG() and FP_OFF() as function calls instead of macro definitions. The C2106 error occurs because a function is not an lvalue.

RESOLUTION

Modify the source code to #include the DOS.H header file


Additional reference words: 1.00 1.50 6.00 6.00a 6.00ax 7.00 8.00 8.00c
KBCategory: kbtool kbprb
KBSubcategory: CLIss
Keywords : kb16bitonly


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.

Last reviewed: July 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.