# 错误(4471)

# 错误信息

产生事件的实型关系表达式 %n %1!s!%n 非法, 不允许出现在由离散时变表达式控制并且不在 when 中的 if, for, while 语句中.

# 产生原因

语义规定对不位于 when 子句内部的 if, for, while 语句, 如果其条件表达式为非离散的, 则在 if, for, while 语句中的产生事件的实型关系表达式是非法的, 报出错误 4471.

# 解决方法

将 if, for, while 语句的条件表达式改为离散的或将 if, for, while 语句放在 when 子句内部.

# 示例

model _4471_EventTriggeringRealRelatedExprError
  Boolean a;
  Real x;
  Real y;
equation 
  if noEvent(y > 1) then      // Error: 4471
  //if y > 1 then             // OK 
    a = (x > 0);
  else
    a = true;
  end if;
end _4471_EventTriggeringRealRelatedExprError;