FIX: C2668 in Overloaded Function When enum Is Promoted to intLast reviewed: September 19, 1997Article ID: Q149965 |
The information in this article applies to:
SYMPTOMSWhen a function is overloaded to take an int parameter in one instance and an unsigned int in another, the following error results if a call to the function is made with an enumerated type:
C2668 error: 'func' : ambiguous call to overloaded function (new behavior; please see help) RESOLUTION
STATUSMicrosoft has confirmed this to be bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ version 5.0.
MORE INFORMATION
Sample Code to Demonstrate Problem
// Compile option needed: none
enum A{eA = 0, eB};
enum E{e = -1};
void func(int a);
void func(unsigned int a);
void main(){
A y = eA;
E e1 = e;
int m = 2;
func(m); // calls func(int)
func(y); // C2668 error
func(e1); // C2668 error
}
Keywords : CPPIss vcbuglist400 vcfixlist500 kbprg Version : 1.5 1.51 1.52 2.0 2.1 2.2 4.0 4. Platform : NT WINDOWS Issue type : kbbug Solution Type : kbfix |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |