BUG: Wrong Namespace Member Selected for Qualified IDLast reviewed: May 21, 1997Article ID: Q167321 |
The information in this article applies to:
SYMPTOMSThe wrong member function is called if you:
RESOLUTIONDo not create a temporary object. Instead create a local object, and then call the member functions through the local object.
STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATIONThe following sample demonstrates the problem and the workaround.
SAMPLE
/* Compile Options: /GX */ # include <iostream> using namespace std ; struct CMyClass { virtual void DoSomething() { cout << "::CMyClass::DoSomething()\n"; } }; namespace MyNameSpace { struct CMyClass { virtual void DoSomething() { cout << "MyNameSpace::CMyClass::DoSomething()\n"; } }; } int main() { MyNameSpace::CMyClass().DoSomething() ; // Workaround: Comment the line above, // Uncomment the following lines // MyNameSpace::CMyClass C1 ; // C1.DoSomething(); return 0; } |
Additional query words: namespace
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |