由于枚举类型呢,是属于一种标签类型,所以在使用std::cout输出的时候,会导致无法匹配数据类型而导致cout函数失败。

这里给的建议呢就是在想要输出的时候,将枚举类型转换为数据类型就可以啦。

如:

#include <iostream>
enum class day
{
a=1,
b,
c,
d
};
int main()
{
std::cout << static_cast<int>(day::c) << std::endl;
}

static_cast<int>(day::c)的意思呢就是将day::c转换为int类型,这样cout就能适配到数据类型输出啦。

当然啦,也可以使用c函数printf()输出,因为printf是控制符输出,所以不存在不匹配的问题啦。

感谢您的查阅,若能帮到您是我莫大的荣幸!

版权声明:本文为Super-biscuits原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Super-biscuits/p/13851102.html