Knowledge Base

BUG: C2572 When Define Function Pointer w/ Default Argument

PSS ID Number: 138847

Article Last Modified on 10/15/2002


The information in this article applies to:


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