可选参数 - 传递的参数不是整数

时间:2013-05-05 20:20:11

标签: coldfusion

我确信这一定是一个简单的,但是没有多少调整似乎有用(我希望我没有误解这里的基本原理!)。

我在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添加到函数调用中),我仍然得到同样的错误!

1 个答案:

答案 0 :(得分:2)

好的,显然将参数切换为类型“numeric”修复了这个问题 - 不确定为什么不接受Integer?这是合法的CF类型吗?