निम्नलिखित कोड में, मैंने unscoped enumerationlong long
प्रकार के साथ परिभाषित किया है। यह प्रोग्राम क्लैंग पर ठीक काम करता है।जीसीसी: Unscoped गणना प्रकार एक अस्पष्टता त्रुटि
लेकिन जीसीसी कंपाइलर अस्पष्टता त्रुटि देता है।
#include <iostream>
enum : long long { Var=5 };
void fun(long long ll)
{
std::cout << "long long : " << ll << std::endl;
}
void fun(int i)
{
std::cout << "int : " << i << std::endl;
}
int main()
{
fun(Var);
}
जीसीसी उत्पन्न त्रुटि:
main.cpp: In function 'int main()':
main.cpp:17:12: error: call of overloaded 'fun(<unnamed enum>)' is ambiguous
fun(Var);
^
main.cpp:5:6: note: candidate: void fun(long long int)
void fun(long long ll)
^~~
main.cpp:10:6: note: candidate: void fun(int)
void fun(int i)
^~~
क्यों जीसीसी संकलक एक अस्पष्टता त्रुटि देता है?