#define delete(X) delete X
class A {} *a = new A;
voidOnStart()
{
delete( a ); //(1)//нормально
delete a ; //(2)//Error: argument expected for the function-like macro 'delete'
}
По логам понимаю, что FileIsExist () не видит ранее созданную папку.
Так в справке же написано, что если это директория, то функция вернёт false, и нужно по коду ошибки определять, что это папка. У тебя и возвращается false.
Посмотрел в своих старых кодах и раньше это работало года 3 назад, не обратил внимания, что я делал ещё проверку на ошибку 5018, которая как раз и говорила что это папка.
Не вижу ошибки. В примере везде после строки определения макроса слово delete - макрос. И только макрос.
Макрос определен в параметрической форме - соответственно скобки - это неотъемлимая его часть. А без скобок - это и не макрос вовсе. Вот подобный, работающий на MQL пример:
int x() { return1; }
int x = 2;
voidOnStart()
{
Print( x() ); //x со скобками - функция //нормальноPrint( x ); //x без скобок - переменная //нормально
}
Соответственно:
#define delete(X) delete X
class A {} *a = new A;
voidOnStart()
{
delete( a ); //(1)//delete со скобками - макрос //нормальноdelete a ; //(2)//delete без скобок - оператор //Error: argument expected for the function-like macro 'delete'
}
Неделю назад создал ветку, но не получил ни единого ответа. Скопирую сюда.
Зашел на сайт с классического firefox, но попытка залогиниться с браузера Palemoon (портативный браузер, разновидность firefox) или Comodo IceDragon (также портативный, на базе firefox 65.0.2) - получаю ошибку "Неверный логин или пароль". С чем это может быть связано? С другими сайтами таких проблем не было.
ЗДРАВСТВ КАКУЙТЕ ПОДСКАЖИТЕ ПОЖАЙЛУСТО КАК ВОСТАНОВИТЬ СВОЙ АКАУНТ ЕСЛИ НЕТ ДОСТУПА К СТАРОЙ ПОЧТЕ НЕ ПОРОЛЯ НЕ ЛОГИНА НЕ ПОМНЮ НАЗВАНИЕ ПОЧТЫ ТОЛЬКО ОСТАЛОСЬ
А какая принципиальная разница в каком порядке идут (1) и (2) ?
MQL путает макрос и оператор
FileIsExist () предназначен только для проверки существования файла? Раньше это работало и для проверки существования папки, а теперь нет.
Вот такой код:
выдаёт следующий результат после трёх запусков:
Создадим папку
true
Создадим папку
true
Создадим папку
true
По логам понимаю, что FileIsExist () не видит ранее созданную папку.
FileIsExist () предназначен только для проверки существования файла? Раньше это работало и для проверки существования папки, а теперь нет.
Вот такой код:
выдаёт следующий результат после трёх запусков:
Создадим папку
true
Создадим папку
true
Создадим папку
true
По логам понимаю, что FileIsExist () не видит ранее созданную папку.
Ошибка при компиляции:
MQL путает макрос и оператор
Не вижу ошибки. В примере везде после строки определения макроса слово delete - макрос. И только макрос.
FileIsExist
Да, действительно.
Посмотрел в своих старых кодах и раньше это работало года 3 назад, не обратил внимания, что я делал ещё проверку на ошибку 5018, которая как раз и говорила что это папка.
Отбой.
Не вижу ошибки. В примере везде после строки определения макроса слово delete - макрос. И только макрос.
Макрос определен в параметрической форме - соответственно скобки - это неотъемлимая его часть. А без скобок - это и не макрос вовсе. Вот подобный, работающий на MQL пример:
Соответственно:Зашел на сайт с классического firefox, но попытка залогиниться с браузера Palemoon (портативный браузер, разновидность firefox) или Comodo IceDragon (также портативный, на базе firefox 65.0.2) - получаю ошибку "Неверный логин или пароль". С чем это может быть связано? С другими сайтами таких проблем не было.