Microsoft KB Archive/138847

= 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:


 * 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 &quot;Sample Code to Reproduce Problem&quot; 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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© 2003 Microsoft Corporation. All rights reserved.