The information in this article applies to:
SYMPTOMS
The Microsoft Visual C++ compiler does not lay out overloaded functions in
the vtable in the order in which they are declared. This does not adhere to
the COM binary standard. (See the OLE Specification section 3.1.1.1 for a
discussion of the COM binary standard.) If there are no overloaded
functions, the COM binary standard is followed. CAUSEAll the overloads of a function are laid out together in successive entries in the reverse order of their declaration, overall in the order of the first overload of each name. Therefore given this declaration:
Entries in the vtable are laid out in this order: A::a(int), A::a(),
A::b(int), A::b(). The COM binary standard requires that functions be laid
out in the order in which they are declared.
STATUSThis behavior is built into the design. It cannot be modified because of legacy code that depends on this behavior. Additional query words: 2.03 1.52 4.00 3.50 2.10
Keywords : kbole kbprg kbNTOS350 kbOLE200 kbVC152 kbVC210 kbWinOS95 kbprb |
Last Reviewed: October 26, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |