Примерно так я себе это и представляю, спасибо. Но, вопрос в другом, почему на этапе "до генерации" не сообщить, что нужно вернуть значение int?
Ведь, вне зависимости от сгенерированных функций, все они вернут значение типа int.
мы с Вами на второй заход пошли - на один и тот же вопрос будем отвечать одинаковыми ответами )))
нет вызова - нет применения шаблона, все - это так работает - все
)))
скрипт набросайте и попроверяйте
вот примерно так:
template <typename T>
T add(T a, T b)
{
// return(a+b);
}
//+------------------------------------------------------------------+voidOnStart()
{
Print("start");
// Print(add(1.0 , 2.0));
}
так компилирует, потом раскрывайте коментарии - будут ошибки
На всякий случай спрошу, есть ли способ заставить функцию StringToCharArray копировать байты без преобразований? Перепробовал все CP_XXX, ни один не обеспечивает копии "1 в 1" в общем случае. Вот такой пример:
voidOnStart()
{
uchar buffer[];
string data = " test";
StringSetCharacter(data, 0, 0x81); // just an example, can be obtained in other waysStringToCharArray(data, buffer);
// buffer[0] = (uchar)data[0]; // correct/direct copyArrayPrint(buffer);
}
Способ получения байта 0x81 может быть разный, здесь установлен "в лоб" для простоты. Если не использовать ручное побайтовое копирование (как в закоментированной строчке), функция StringToCharArray преобразует байт 129 (0x81) в 63.
Пока пришлось заменить StringToCharArray на цикл, но может есть секретный CP_XXX?
На всякий случай спрошу, есть ли способ заставить функцию StringToCharArray копировать байты без преобразований? Перепробовал все CP_XXX, ни один не обеспечивает копии "1 в 1" в общем случае. Вот такой пример:
Способ получения байта 0x81 может быть разный, здесь установлен "в лоб" для простоты. Если не использовать ручное побайтовое копирование (как в закоментированной строчке), функция StringToCharArray преобразует байт 129 (0x81) в 63.
Пока пришлось заменить StringToCharArray на цикл, но может есть секретный CP_XXX?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
потому что этот метод не является шаблоном - нет template
шаблон, по сути, это макроподстановка в которую компилятор подставит необходимые типы при обнаружении вызовов функции(метода класса)
при вот такой "подстановке" будут "сгенерированы" функции с конкретными типами данных
вот примерно так это работает
Примерно так я себе это и представляю, спасибо. Но, вопрос в другом, почему на этапе "до генерации" не сообщить, что нужно вернуть значение int?
Ведь, вне зависимости от сгенерированных функций, все они вернут значение типа int.
Примерно так я себе это и представляю, спасибо. Но, вопрос в другом, почему на этапе "до генерации" не сообщить, что нужно вернуть значение int?
Ведь, вне зависимости от сгенерированных функций, все они вернут значение типа int.
мы с Вами на второй заход пошли - на один и тот же вопрос будем отвечать одинаковыми ответами )))
нет вызова - нет применения шаблона, все - это так работает - все
)))
скрипт набросайте и попроверяйте
вот примерно так:
так компилирует, потом раскрывайте коментарии - будут ошибки
где то что то пропустил, в общем ищу подвох в таком коде:
2020.04.12 01:40:16.652 tst (EURUSD,H1) 0.00000 1.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 2.00000 3.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 4.00000 5.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 6.00000 7.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 8.00000 9.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 10.00000 11.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 12.00000 13.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 14.00000 15.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 16.00000 17.00000
2020.04.12 01:40:16.652 tst (EURUSD,H1) 18.00000 19.00000
смущает, что так просто получилось создать двухмерный массив и присвоение без описания конструктора копирования работает из коробки
что в моем коде может работать некорректно?
ДЕКОМПИЛЯЦИЯ ЗАПРЕЩЕНА!
На всякий случай спрошу, есть ли способ заставить функцию StringToCharArray копировать байты без преобразований? Перепробовал все CP_XXX, ни один не обеспечивает копии "1 в 1" в общем случае. Вот такой пример:
Способ получения байта 0x81 может быть разный, здесь установлен "в лоб" для простоты. Если не использовать ручное побайтовое копирование (как в закоментированной строчке), функция StringToCharArray преобразует байт 129 (0x81) в 63.
Пока пришлось заменить StringToCharArray на цикл, но может есть секретный CP_XXX?
На всякий случай спрошу, есть ли способ заставить функцию StringToCharArray копировать байты без преобразований? Перепробовал все CP_XXX, ни один не обеспечивает копии "1 в 1" в общем случае. Вот такой пример:
Способ получения байта 0x81 может быть разный, здесь установлен "в лоб" для простоты. Если не использовать ручное побайтовое копирование (как в закоментированной строчке), функция StringToCharArray преобразует байт 129 (0x81) в 63.
Пока пришлось заменить StringToCharArray на цикл, но может есть секретный CP_XXX?
2020.04.12 15:57:37.812 tst1 (EURUSD,H1) 129 32 116 101 115 116
возможная потеря данных из-за преобразования типов
Мысли есть?
Есть. Декомпил запрещен!
А с какой стороны тут декомпил?
Он же код выкладывает....
А с какой стороны тут декомпил?
Он же код выкладывает....
Декомпилированный)))
А так, нет никакой ошибки - просто компилятор предупреждает о неявном приведении типов.
Декомпилированный)))
Ну дык это статья )))