저는 PowerShell에서 함수를 정의하고 아래 표시된 것처럼 호출하려고합니다.2 정수 args 함수를 호출 할 때 오류가 발생했습니다.
function foo([Int32] $a, [Int32] $b)
{
}
foo(0,0)
이렇게하면 다음 오류가 발생합니다.
foo : Cannot process argument transformation on parameter 'a'. Cannot convert the "System.Object[]" value of type "System.Object[]" to type
"System.Int32".
At line:1 char:4
+ foo <<<< (0,0)
+ CategoryInfo : InvalidData: (:) [foo], ParameterBindin...mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,foo
아래와 같이 단일 인수 만 허용하도록 함수를 변경하면 올바르게 작동합니다.
function foo([Int32] $a)
{
}
foo(0)
또는 유형 정보를 제거하면 다음과 같이 작동합니다.
function foo($a, $b)
{
}
foo(0,0)
첫 번째 버전에 어떤 문제가 있습니까? 어떻게 여러 정수 인수를 사용하는 함수를 제대로 정의합니까?
편집 : 흥미롭게도 다음 호출이 작동합니다.
foo 0 0
나는 그 (것)들을 선호하고 그 (것)들을 사용하기 위하여 얻는 방법 생각해보고있다. PowerShell을 매개 변수에
확인 감사합니다! 내가 C++에서 기어를 바꿔서 괄호를 포기할 필요가있는 것 같습니다 :) – Nerdtron
BTW이 일반적인 잡았다는 (FAQ라고하는 데 사용되는) 태그 위키에 언급되어 있습니다 - http://stackoverflow.com/tags/powershell/info . –
링크를 이용해 주셔서 감사합니다. – Nerdtron