а если у меня, например,
я этим просто обещаю компилятору, что именно сам this не буду менять
if(arr == nullptr){
delete[] arr;
"Недопустимая попытка перехода на метку пакетного файла извне этого файла."
for /f
, используя модификатор для переменной цикла %%~za
. Но в вашем случае проще это сделать через процедуру - в нумерованных параметрах процедуры то же работают модификаторы.for /f "tokens=* delims=" %%a in ('dir /b C:\Test\*') do (call:del5mb "c:\Test\%%~a")
goto:eof
:del5mb
if %~z1 lss 5242880 (del "%~1")
exit /b 0
del "c:\test\%%~a"
Честно говоря мне лень разбираться в вашем коде.
Дам совет - запустите программу под отладчиком и пройдите ее по шагам, контролируя все операции. Думаю это должно вас навести на мысли где в коде ошибка.
Почему не пользуетесь методами класса wstring? Ваш код можно сделать гораздо проще с их помощью.
Если уж вы используете wstring, то все строковые и символьные константы должны быть с префиксом L.
Заячем вот это делать:
L"" + a
Может надо просто инициализировать a пустой строкой в начале? ...