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