在C++98中,将字符串分配给枚举可以通过以下步骤实现:
enum MyEnum {
ENUM_VALUE1,
ENUM_VALUE2,
ENUM_VALUE3
};
MyEnum stringToEnum(const std::string& str) {
if (str == "value1") {
return ENUM_VALUE1;
} else if (str == "value2") {
return ENUM_VALUE2;
} else if (str == "value3") {
return ENUM_VALUE3;
}
// 处理无效的字符串值
throw std::invalid_argument("Invalid string value");
}
std::string inputString = "value2";
MyEnum enumValue = stringToEnum(inputString);
这样,你就可以使用C++98将字符串分配给枚举了。
请注意,C++98不支持直接将字符串分配给枚举,因此需要手动编写转换函数来实现这一功能。此外,C++98也不支持自定义的异常类型,因此在转换函数中使用了std::invalid_argument异常来处理无效的字符串值。
领取专属 10元无门槛券
手把手带您无忧上云