이것은 단순한 것이어야하지만, 조정할 필요는 없습니다 (나는 기본 원리를 오해하지 않았 으면합니다!). 다음과 같이선택적 인수 - 전달 된 인수가 정수가 아닙니다.
가 나는 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"
를).
는 지금은, 선택적 인수를 활용하려고 명명 된 인수를 사용하여이 함수를 호출하고 예 :
그래서이 경우refreshRate
에 대한 값을 제공하지 않은,하지만 난이 오류가
createWidget(event:event
, widgetType:'blank'
, rowNumber:1
, colNumber:1
, width:2
, height:1
, title:'Empty Widget')
:
The REFRESHRATE argument passed to the createWidget function is not of type integer.
또한 인용 부호 (integer refreshRate=0
) 여전히 동일한 문제를 제거하기 위해 refreshRate
에 대한 기본 값을 업데이트하는 노력했다.
내가 뭘 잘못하고 있는지 알아낼 수 있습니까?
UPDATE
나는 또한 실제로 (함수 호출에 refreshRate:0
추가) 변수 화면 재생 빈도를 전달 시도하고 난 여전히 같은 오류를 얻을!
아니요, 숫자 만 지원됩니다. – Busches
자세한 내용을 보려면 약 14 개의 [기본 제공되는 인수 유형] (http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7e47.html)을 참조하십시오. 다른 모든 값은 구성 요소의 "이름"으로 처리됩니다. 오류가 실제로 의미하는 것은 CF가'Integer'가 구성 요소의 이름이라고 생각하고 그것이 Integer.cfc의 인스턴스가 아니기 때문에 매개 변수를 거부한다는 것입니다. – Leigh