string到枚举类c++
时间: 2023-10-22 15:06:14 浏览: 105
枚举类型-谭浩强经典C++
可以使用一个函数将字符串转换为枚举类变量。需要注意的是,这个函数需要判断输入的字符串是否合法,即是否是枚举类中定义的成员。以下是一个示例代码:
```
#include <iostream>
#include <string>
using namespace std;
enum class Color {
Red,
Blue,
Black
};
Color stringToColor(const string& str) {
if (str == "Red") {
return Color::Red;
} else if (str == "Blue") {
return Color::Blue;
} else if (str == "Black") {
return Color::Black;
} else {
throw invalid_argument("Invalid color string");
}
}
int main() {
string colorStr = "Blue";
Color color = stringToColor(colorStr);
cout << "color: " << static_cast<int>(color) << endl;
return 0;
}
```
阅读全文