【发布时间】:2013-12-24 14:22:41
【问题描述】:
我有一个枚举
enum MYENUM
{
VAL_1 = 0,
VAL_2,
VAL_3
};
以及两个分别以整数和枚举为参数的函数
void MyIntegerFunction(int integerValue)
{
...
}
void MyEnumFUnction(MYENUM enumValue)
{
...
}
我有两个变量
int intVar = 10;
MYENUM enumVar = VAL_2;
在以下两种情况中,在调用这些函数时进行类型转换是正确的,为什么?
Case#1. MyEnumFUnction(static_cast<MYENUM>(intVar));
Case#2. MyIntegerFunction(static_cast<int>(enumVar));
PS:没有 C++11
【问题讨论】:
-
你知道你可以尝试这个(有和没有演员),看看编译器说什么?
-
不要粗鲁,但我的问题不是我是否应该施放。并且编译器没有解释 why 部分(大部分)。
-
MyEnumFUnction,您的名字中有一个大写字母 U。你应该解决这个问题。
-
我个人认为这个问题/答案很有用且内容丰富。我认为应该重新考虑关闭主题的标准。
-
我同意@SMGreenfield