@echo off
set /a n=99
echo before call test3
echo n=%n%
set ret=
call :test3 ret
echo after call test3
echo n=%n%
echo show array:
echo %ret.Array[0]%
echo %ret.Array[1]%
echo %ret.Array[2]%
echo %ret.Array[3]%
ECHO Press any key to close the windows...
pause>NUL
goto :eof
:test3
setlocal
set /a n=0
:Loop-Start
if %n% GEQ 3 goto :Loop-End
endlocal
set %~1.Array[%n%]=V%n%
setlocal
set /a n=n+1
goto :Loop-Start
:Loop-End
endlocal
goto :eof
Привет,
Я написал функцию test3 с локальной переменной с именем n, и test3 получает ссылку на переменную с именем ret от вызывающей стороны в качестве ее параметра.
Как я показываю в коде, я хочу, чтобы мой test3 создал массив из трех элементов, а переменная с именем ret в вызывающей программе будет содержать массив.
Но в вызывающей программе при печати массива я обнаружил, что у меня нет трех элементов в массиве.
кто может помочь? спасибо