Microsoft KB Archive/138847

From BetaArchive Wiki

PSS ID Number: 138847

Article Last Modified on 10/15/2002



The information in this article applies to:

  • Microsoft Visual C++ 4.0
  • Microsoft Visual C++ 4.1
  • Microsoft Visual C++, 32-bit Enterprise Edition 4.2
  • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
  • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
  • Microsoft Visual C++, 32-bit Professional Edition 4.2
  • Microsoft Visual C++, 32-bit Professional Edition 5.0
  • Microsoft Visual C++, 32-bit Professional Edition 6.0
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Visual C++ .NET (2002)



This article was previously published under Q138847

SYMPTOMS

When you compile the code shows in the "Sample Code to Reproduce Problem" section of this article, Visual C++ reports the following error:

error C2572: 'member' : redefinition of default parameter : parameter 1

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

The error occurs only when a function pointer is a static member of a class, and the function pointer type is a function that has a default argument. The error is reported for the line where the static member is defined.

Sample Code to Reproduce Problem

   /* Compile options needed: none
   */ 

   typedef void (*function_ptr)( int default_arg = 0 );

   class my_class
   {
   public:
       static function_ptr member;
   };

   function_ptr my_class::member;  // error will be reported for this line
 
                


Additional query words: kbVC400bug

Keywords: kbBug kbLangCPP KB138847
Technology: kbAudDeveloper kbVC32bitSearch kbVC400 kbVC410 kbVC420 kbVC500 kbVC500Search kbVC600 kbVCNET kbVCsearch