Ошибки, баги, вопросы - страница 1851

 
fxsaber:
Сокращенного вызова шаблонного оператора так и не увидел.

Сто лет не работал со структурами. Если Вам нужно инициировать элемент массива структур целиком, то это будет операция со строкой. А целочисленный элемент этой преобразованной строки Вы инициировали правильно, о чем и сообщил компилятор. Если хотите инициировать, сравнивать, либо еще как обрабатывать массивы структур, поинтересуйтесь способом их представления/хранения в MQL. Ничего сложного и сильно ускоряет работу. 
 
Алексей Тарабанов:
Мне нужно знать, какая синтаксическая запись является сокращенным вариантом этого
Struct.operator[]<int>(0);
 
fxsaber:
Мне нужно знать, какая синтаксическая запись является сокращенным вариантом этого
Struct[0]
 
Комбинатор:
Struct[0]

To whom how
 
Комбинатор:
Struct[0]
Чтобы не лазить по страницам, скопирую код

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2017.04.12 14:27

struct STRUCT
{
  template <typename T>
  void operator []( int ) {}
};

void OnStart()
{
  STRUCT Struct;
  
  Struct.operator[]<int>(0); // Нормально
  Struct[0]<int>;            // Ошибка
}

Вот эти два вызова являются разными

Struct.operator[]<int>(0);
Struct.operator[]<MqlTick>(0);

Для каждого должна существовать соответствующая сокращенная запись. Какая?

 
fxsaber:
Мне нужно знать, какая синтаксическая запись является сокращенным вариантом этого

Никакая запись не может обеспечить того, что Вы хотите. Принципиально. Семантически. 
 
Алексей Тарабанов:
Никакая запись не может обеспечить того, что Вы хотите. Принципиально. Семантически. 
Жаль, если так. Не понятно, почему не сделали.
 
fxsaber:
Жаль, если так. Не понятно, почему не сделали.

Потому, что это сделать нельзя. Неужели, непонятно? 
 
Алексей Тарабанов:

Потому, что это сделать нельзя. Неужели, непонятно? 
Да.
 
fxsaber:

Для каждого должна существовать соответствующая сокращенная запись. Какая?

добавьте явное приведение типа внутри круглых скобок.