CodeView Does Not Use Default Arguments for FunctionsLast reviewed: May 1, 1996Article ID: Q85510 |
The information in this article applies to:
SUMMARYMicrosoft CodeView versions 4.0 and later, which support debugging C++ programs, do not correctly evaluate functions that use default arguments. When an expression is used that requires CodeView to evaluate a function with a default argument, the following error message is displayed:
CXX0047: Error: argument list does not match a function MORE INFORMATIONThe sample code below contains a function that has a default argument. In the program, the function PrintOut() can be called either with a void parameter list or with a character pointer. When the followingcommand is executed from CodeView's command window
? PrintOut("This is a string constant")the function is called and "This is a string constant" is printed to the output screen. When the function PrintOut() is called with no parameters, for example
? PrintOut()the error CXX0047 is generated. This occurs only when using the "?" command in CodeView to force a function to be evaluated. Default arguments are supported only in C++ programs.
Sample Code
/* Compile options needed: /Od /Zi */ #include <iostream.h> void PrintOut (char *String = "This is a default argument."); void main (void){ PrintOut(); PrintOut( "This is not a default argument.");}
void PrintOut (char *String){ cout << String << endl;}
|
Additional reference words: kbinf 4.00 4.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |