यह कोड संकलित क्यों नहीं करता है, और इसे संकलित करने के लिए मैं क्या कर सकता हूं?सी ++ 11 मिश्रण एनम वर्ग और स्विच केस में हस्ताक्षरित int संकलित नहीं करेगा
#include <iostream>
using namespace std;
enum class myEnum : unsigned int
{
bar = 3
};
int main() {
// your code goes here
unsigned int v = 2;
switch(v)
{
case 2:
break;
case myEnum::bar:
break;
}
return 0;
}
ideone:
prog.cpp: In function 'int main()':
prog.cpp:18:16: error: could not convert 'bar' from 'myEnum' to 'unsigned int'
case myEnum::bar:
, जीसीसी और बजना में निर्माण करने के लिए विफल MSVC 2013 में काम करता है
'static_cast (2)' –
Borgleader
जोरदार टाइप किया enums दृढ़ता से लिखे जाते हैं, और एक अभिन्न प्रकार के लिए कोई अंतर्निहित रूपांतरण हैं। –
मैंने सोचा ": हस्ताक्षरित int" यह अनुमति है? – paulm