Article ID: 243298 - Last Review: September 2, 2005 - Revision: 3.0 BUG: A "C2668: 'InlineIsEqualGUID'" error occurs when you try to build a default ATL project that contains a COM object in Visual C++This article was previously published under Q243298 On This PageSYMPTOMS Building a default ATL project containing a COM object
supporting ISupportErrorInfo might result in the following
error: C2668: 'InlineIsEqualGUID' : ambiguous
call to overloaded function CAUSE The problem occurs because the function InlineIsEqualGUID() is defined both in the ATL header file, AtlBase.h, and the
Platform SDK header file, Guiddef.h, in different name spaces. The include
paths for the build point first to the Platform SDK include directory, and then
to the ATL include directory. In the ATL header, InlineIsEqualGUID() is defined in a name space called "ATL", while in the Platform
SDK header it is defined in the global name space. Because AtlBase.h includes the statement WORKAROUND To work around this problem, prefix the call to the InlineIsEqualGUID() function with ::ATL::. This explicitly
qualifies the ATL namespace from where the implementation of InlineIsEqualGUID is pulled in. For example: STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. MORE INFORMATIONSteps to reproduce the behaviorThe following steps are based on Visual C++ 6.0.
| Article Translations
|
Back to the top
