Qualcuno può spiegare, perchéstd :: is_signed non funziona per le enumerazioni fortemente tipizzati: int
#include <iostream>
#include <type_traits>
using namespace std;
enum E : signed int { a=-1, b = 1,};
int main() {
std::cout << std::boolalpha;
cout << "strong typed enum E:int should be signed, but is_signed returns "
<< is_signed<E>() << "\n";
return 0;
}
std :: is_signed <> non fa, quello che dice sulla latta? Grazie ...
Usa 'I s_signed :: type>() 'invece –
@PiotrSkotnicki Grazie mille per la corretta soluzione del mio problema (non dovrebbe esserci alcun problema, se lo standard C++ sarebbe più intuitivo in questo caso ...) –
Usa std :: underlying_type_t per favore –