열거 형을 int로 자동 직렬화하는 방법이 있습니까? 때마다 나는 새로운 열거 형을 정의하고 컴파일러가 운영 < <과는 >> 정의되지 않은 불평자동으로 enum을 int로 직렬화하는 방법이 있습니까?
std::stringstream stream;
stream << myenum1;
stream >> myenum2;
물품. 열거 형을 일반 int로 처리하도록 컴파일러에 지시하는 방법을 알고 있습니까?
실제로 문제가 더 어려워지는 이유는 실제로 직렬화가 템플릿 안에 있다는 것입니다. 이런 식으로 뭔가?.
template <typename T>
void serialize(const T& value)
{
std::stringstream stream;
stream << value;
}
그래서 내가 아마 어떻게 든 그것을 전문으로 할 수있는 모든 캐스트 :( 를 추가 할 수 없습니다
감사합니다
다른 템플릿 특성을 사용하여 유효성을 확인할 수 있습니다 – James
@Autopulated : 어떻게 생겼습니까? (또한 열거 형 enum 상수와 열거 형의 유효한 값이 일치하지 않습니까?) – UncleBens
자, 열거 형을 사용하는 방법에 따라 다르지만 일반적으로 각 열거 형의 특성에 과부하가 걸리고 각 열거 형에서 max_value enum 값과 같은 것을 사용합니다 유형. 특성을 사용하는 장점은 모든 것을 허용하거나 원하는대로 미리 정의 된 범위를 허용하는 기본값을 가질 수 있다는 것입니다. – James