BUG: C2572 When Define Function Pointer w/ Default Argument

ID: Q138847


The information in this article applies to:
  • Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.1, 4.2, 5.0, 5.0, 6.0


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 : kbLangCPP kbVC kbVC500bug kbVC600bug
Version : 4.0 4.1 4.2 5.0
Platform : NT WINDOWS
Issue type : kbbug


Last Reviewed: May 12, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.