0

我有以下 C 代码行,其中 cfType 是普通的 C 枚举类型:

int foo (double * parameters) {
...
cfType coefSelect = (cfType) *parameters; /* The double pointed by at parameters
                                           * is cast to a cfType enum and result
                                           * is put in the var coefSelect.
                                           */
...
}

但是编译器在强制转换行给出“枚举类型与另一种类型混合”的警告 - 但强制转换不应该阻止这个警告吗?

我在代码编写器工作室中使用德州仪器的 C2000 C 编译器

4

2 回答 2

6

我认为您必须先转换为整数类型才能防止出现此警告。

就像是:

cfType coefSelect = (cfType)(int) *parameters;
于 2013-06-13T09:29:40.023 回答
2

尝试分两步进行投射:

cfType coefSelect = (cfType) (int) *parameters; 
于 2013-06-13T09:29:46.567 回答