А если у меня функция принимает несколько массивов насколько корректной будет такая запись?
void MoveArray(T &array[],T &array1[],T &array2[])сможет ли определить тип каждого массива или речь идёт о работе только с одним элементом?
{
Расчёты
}
Меня интересует работа с несколькими массивами сразу и с возможностью функции идентифицировать тип каждого массива.
Это только для случая, когда у всех массивов один и тот же тип.
Если у массивов разные типы, то нужно описать эти типы:
Уже немного понятно значит нужно сделать первое создать шаблон делается это вот так
template<typename T, typename P, typename N> создаём шаблон у которого есть несколько параметров<typename T, typename P, typename N>
Дальше описываем функцию
void MoveArray(T &array[], P &array1[], N &array2[]){тело функции}
Дальше я так понимаю нужно шаблон расписать или уже шаблон расписывать не нужно, что он такое т.е ниже или сразу по создании шаблона под ним описываем там что нам нужно выглядит это так
template<typename T, typename P, typename N>
расписываем шаблон в этом месте
void MoveArray(T &array[], P &array1[], N &array2[])дальше пользуемся функцией и применяем технологию
{}
Так это делается а для чего структура что в начале темы была от вас? Как происходит описание шаблона учитывая то что типы разные?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А если у меня функция принимает несколько массивов насколько корректной будет такая запись?
void MoveArray(T &array[],T &array1[],T &array2[])сможет ли определить тип каждого массива или речь идёт о работе только с одним элементом? { Расчёты }Меня интересует работа с несколькими массивами сразу и с возможностью функции идентифицировать тип каждого массива.
А если у меня функция принимает несколько массивов насколько корректной будет такая запись?
Это только для случая, когда у всех массивов один и тот же тип.
Меня интересует работа с несколькими массивами сразу и с возможностью функции идентифицировать тип каждого массива.
Если у массивов разные типы, то нужно описать эти типы:
При этом допускается, что все три типа могут быть одинаковыми.
Меня интересует работа с несколькими массивами сразу и с возможностью функции идентифицировать тип каждого массива.
а Вы хоть один из предложенных Вам примеров проверяли?
typename(T) - вернет Вам тип переменной (массива), ну и делайте дальше анализ через if(typename(T) == "double") Print("Ура! это дубле!!")
А если у меня функция принимает несколько массивов насколько корректной будет такая запись?
Меня интересует работа с несколькими массивами сразу и с возможностью функции идентифицировать тип каждого массива.
Вам перегрузка нужна, а не шаблон.
...хотя мнение тут разделилось - кто-то советует перегрузку, кто-то шаблон.
Если шаблон, то для нескольких массивов так:
Но кто знает, может массивов несколько, но типы у них одинаковые (при одном вызове функции).
Но как-то это не того - писать шаблон, а потом в шаблонной функции разруливать типы. Тут надо перегрузкой пользоваться.
Это только для случая, когда у всех массивов один и тот же тип.
Если у массивов разные типы, то нужно описать эти типы:
Уже немного понятно значит нужно сделать первое создать шаблон делается это вот так
Дальше описываем функцию
void MoveArray(T &array[], P &array1[], N &array2[]){тело функции}Дальше я так понимаю нужно шаблон расписать или уже шаблон расписывать не нужно, что он такое т.е ниже или сразу по создании шаблона под ним описываем там что нам нужно выглядит это так
Так это делается а для чего структура что в начале темы была от вас? Как происходит описание шаблона учитывая то что типы разные?
И вот что-то
И ещё описывать это всё я буду не в OnStart или в OnTick а за ними.