C++ 为什么尝试在c++;给一个错误?
我想打印单位为km的uC++ 为什么尝试在c++;给一个错误?,c++,C++,我想打印单位为km的u enum class Unit { km, m, cm }; int main() { Unit u = Unit::km; std::cout<<u; return 0; } enum类单位{km,m,cm}; int main() { 单位u=单位:公里; std::cout您的单元枚举是一个作用域枚举,枚举类,这些类型的枚举不允许隐式强制转换。如果您希望它与cout一起工作,则必须显式强制转换: std::cout << stati
enum class Unit { km, m, cm };
int main()
{
Unit u = Unit::km;
std::cout<<u;
return 0;
}
enum类单位{km,m,cm};
int main()
{
单位u=单位:公里;
std::cout您的单元
枚举是一个作用域枚举,枚举类
,这些类型的枚举不允许隐式强制转换。如果您希望它与cout
一起工作,则必须显式强制转换:
std::cout << static_cast<int>(u);
std::cout您的单元
enum是一个作用域枚举,enum类
,这些类型的枚举不允许隐式强制转换。如果希望它与cout
一起工作,您必须显式强制转换:
std::cout << static_cast<int>(u);
std::当您对编译代码时收到的错误有疑问时,不能始终包含逐字错误消息。应该是在我运行它时,我得到了错误:“cout”未在此范围内声明
,所以我假设是这样?始终包含逐字错误消息当您对编译代码时收到的错误有疑问时。应该是在我运行它时,我得到了错误:cout'未在此范围内声明
,所以我假设是这样的?最好使用std::underlined_type
()@最大的素数是足够公平的,在本例中保证为int
。更好地使用std::底层的素数类型
()@maximust\u素数是足够公平的,在本例中保证为int
。