看似有效的代码中的未知类型名称“GsetBrakeMode”[重复]

Posted

技术标签:

【中文标题】看似有效的代码中的未知类型名称“GsetBrakeMode”[重复]【英文标题】:unknown type name 'GsetBrakeMode' in seemingly working code [duplicate] 【发布时间】:2021-08-31 15:00:01 【问题描述】:

在某些 IDE 中,我收到了一个错误,但在其他 IDE 中却可以正常工作。我想知道问题是什么以及我能做些什么来解决它。

typedef enum custom_brake

  BRAKE_COAST = 0,
  BRAKE_BRAKE = 1,
  BRAKE_HOLD = 2

 TokenType;

void GsetBrakeMode(custom_brake brakeMode)
  switch(brakeMode)
    case BRAKE_COAST: break;
    case BRAKE_BRAKE: break;
    case BRAKE_HOLD: break;
  


GsetBrakeMode(BRAKE_HOLD);

【问题讨论】:

编辑:当我将它放在函数内部但在初始化后不直接使用时,它可以工作,我不知道为什么,但我仍然想知道为什么有些 IDE 接受它而有些不接受。 【参考方案1】:

GsetBrakeMode(BRAKE_HOLD); 是一个函数调用。如果没有一些技巧,你不能放置那个外部函数体。

将它放在一些函数体中,如下所示:

void someFunc(void) 
    GsetBrakeMode(BRAKE_HOLD);

编写外部函数体的技巧之一是将其放在表达式中以确定变量的初始值:

int variableForTrick = (GsetBrakeMode(BRAKE_HOLD), 0);

【讨论】:

以上是关于看似有效的代码中的未知类型名称“GsetBrakeMode”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在这段代码中得到“未知类型名称 NSManagedObjectContext”?

为啥类型系统拒绝我看似有效的程序?

操作系统的 Mach 库中的未知类型名称错误

使用用于 C++ 代码的标头编译 C 代码时未知类型名称 char16_t

未知类型名称 AFJSONRequestOperation

EParseError wamp:配置文件在第 592 行包含语法错误。未知参数名称“类型”