【发布时间】:2016-12-01 21:58:46
【问题描述】:
这是一个基本的问题,我希望很容易地谷歌,但没有找到答案。
假设我有一个枚举:
enum abc { a, b, c };
支持的隐式转换有哪些?编译器之间是否有任何编译器扩展或不同的行为?
我问的是隐式转换为枚举:
enum abc test = (** which type can appear here? **);
以及来自枚举的隐式转换:
(** which type can appear here? **) test2 = test;
我想知道 C 和 C++ 的答案。
【问题讨论】:
-
你应该让你的问题更具体,这很有趣。但是你知道这里可以出现哪种类型?是
int,对吧? -
@iharob 总是这样吗? ideone.com/5WvR9K ...这就是我问的原因
-
@iharob 不能在
short或signed char或_Bool或double值范围内,如1e2? -
@chux 如果它们可以转换为
int我猜,是的! -
我怀疑 C 与 C++ 的答案是否不同,但如果它们是不同的,你更想知道哪一个?
标签: c++ c enums implicit-conversion