为什么这个OpenEdge 10.2B代码可以工作,而不会生成运行时错误



这个简单的程序不应该生成运行时错误吗?当我运行它时,屏幕上会显示值4。

RUN pTest ( 2 + 2 ).
PROCEDURE pTest:
  DEF INPUT PARAM cData AS CHAR NO-UNDO.
  DISPLAY cData.
END.

因为2+2被强制转换为一个字符。

DEFINE PARAMETER的文档中写道:

"此外,DEFINE和RUN语句中指定的参数类型(INPUT、OUTPUT、INPUT-OUTPUT、RETURN、TABLE、TABLE-HANDLE、DATASET、DATASET-HANDLE和BUFFER)必须一致。相应的数据类型和运行时值也必须足够兼容,以允许AVM执行任何必要的转换。"

相关内容

  • 没有找到相关文章

最新更新