1

我敢肯定这一定是一个简单的,但似乎没有任何调整(我希望我没有误解这里的基本原理!)。

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

4

1 回答 1

3

好的,显然将参数切换为“ numeric”类型可以解决此问题-不确定为什么不接受 Integer ?是正规的CF型吧?

于 2013-05-05T20:42:04.293 回答