我确信这一定是一个简单的,但是没有多少调整似乎有用(我希望我没有误解这里的基本原理!)。
我在CFC中定义了一个函数,如下所示:
public void function createWidget(
required any event
, required String widgetType
, String elementId=""
, integer refreshRate="0"
, required integer rowNumber
, required integer colNumber
, required integer width
, required integer height
, String title=""
, String bgColour="orange" ){
正如您所看到的,有一些必需的参数,有些参数不是我提供的默认值(例如integer refreshRate="0"
)。
现在我使用命名参数调用此函数,尝试利用可选参数,例如:
createWidget( event:event
, widgetType:'blank'
, rowNumber:1
, colNumber:1
, width:2
, height:1
, title:'Empty Widget' )
所以我在这种情况下没有为refreshRate
提供任何价值,但我收到了错误:
The REFRESHRATE argument passed to the createWidget function is not of type integer.
我还尝试更新refreshRate
的默认值以删除引号(integer refreshRate=0
)但仍然是完全相同的问题。
有人能发现我做错了吗?
更新
我也尝试过传入变量refreshRate(将refreshRate:0
添加到函数调用中),我仍然得到同样的错误!
答案 0 :(得分:2)
好的,显然将参数切换为类型“numeric
”修复了这个问题 - 不确定为什么不接受Integer?这是合法的CF类型吗?