1,原始代码
#include <iostream>enum class TreeType : int {PINE = 1,CYPRESS = 2,WILLOW = 3
};
std::ostream &operator<<(std::ostream &os, const enum class TreeType &rhs) {switch(rhs) {case TreeType::PINE:os << "PINE"; break;case TreeType::CYPRESS:os << "CYPRESS"; break;case TreeType::WILLOW:os << "WILLOW"; break;}return os;
};int main() {TreeType tree_type;tree_type = TreeType::WILLOW;std::cout << tree_type << std::endl;return 0;
}
2,运行没问题,但编译会有警告:elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
3,修改
#include <iostream>enum class TreeType : int {PINE = 1,CYPRESS = 2,WILLOW = 3
};
//std::ostream &operator<<(std::ostream &os, const enum class TreeType &rhs) {
// 改为
std::ostream &operator<<(std::ostream &os, const enum TreeType &rhs) {switch(rhs) {case TreeType::PINE:os << "PINE"; break;case TreeType::CYPRESS:os << "CYPRESS"; break;case TreeType::WILLOW:os << "WILLOW"; break;}return os;
};int main() {TreeType tree_type;tree_type = TreeType::WILLOW;std::cout << tree_type << std::endl;return 0;
}
本文发布于:2024-02-04 05:23:36,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170700060652512.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |