ID Number: Q66777
6.00 6.00a 6.00ax 7.00 | 6.00 6.00a
MS-DOS | OS/2
buglist6.00 buglist6.00a buglist6.00ax buglist7.00
Summary:
SYMPTOMS
Based pointers and variables are introduced in Microsoft C version
6.0. One limitation of based addressing is that a formal parameter
to a function cannot be based on a previous formal parameter to the
same function. For example, the compiler will generate an error for
the following function definition, which has two formal parameters
with the second parameter based on the first:
void func1( _segment myseg, int _based(myseg) *bptr )
{
}
The first parameter (myseg) is of type segment, while the second is
a based pointer to an integer (bptr) that is based on the myseg. If
these same variable declarations are not part of a formal parameter
list, they will compile without problem, but the above function
will generate the following compiler error for the based variable:
error C2065: 'myseg' : undefined
STATUS
Microsoft has confirmed this to be a problem in C versions 6.0,
6.0a, 6.0ax, and C/C++ version 7.0, and QuickC versions 2.5 and 2.51
(buglist2.50 and buglist2.51). We are researching this problem and
will post new information here as it becomes available.
Additional reference words: 6.00 6.00a 6.00ax s_quickc 2.50