You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pascal中val函数报'got untyped, expected Real'错误排查

问题分析与解答

报错里的"Untyped"是什么意思?

这里的"Untyped"指的是你写的val(ParamStr(2), par_a)这个表达式是无类型的——因为Pascal里的Val是一个过程(不是函数),它没有返回值,不能当作具体数值传递给其他函数的参数。编译器识别不到这个表达式的有效类型,所以提示你传入了无类型的值,而函数p要求的是Real类型参数,因此触发报错。

解决方法

你需要先单独调用Val完成字符串到数值的转换,再把转换后的变量传给函数p:

Val(ParamStr(2), par_a);  // 先将ParamStr(2)转换为数值存入par_a
Val(ParamStr(3), par_b);  // 同理完成ParamStr(3)到par_b的转换
p(par_a, par_b);          // 再把par_a和par_b传给函数p

之前把Real换成Double没用,因为问题根源不是变量类型不匹配,而是错误地把过程当作函数来使用了。

内容的提问来源于stack exchange,提问作者George Glebov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:45:52