0
我相信这肯定是一个简单的参数,但没有任何调整似乎工作(我希望我没有误解这里的基本面!)。可选参数 - 传递的参数不是整数
我已经在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
),但仍完全相同的问题。
任何人都可以发现我做错了什么吗?
UPDATE
我也曾尝试实际上传递变量的刷新率(添加refreshRate:0
的函数调用),我仍然得到同样的错误!
不,只支持数字。 – Busches 2013-05-05 21:08:27
详细说明,大约有十四[内置参数类型](http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7e47.html)。所有其他值都被视为组件的“名称”。错误的真正含义是CF认为'Integer'是一个组件的名称并拒绝该参数,因为它不是'Integer.cfc'的一个实例。 – Leigh 2013-05-06 16:35:10