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

 
Сергей Таболин:

Я вооще профан, но до такого (int i = i) я бы и с перепою не додумался....... 8(

А в чем принципиальное отличие от исходного примера? Уберите лишнее и получите:

int i = i = 123; //Error: 'i' - undeclared identifier

Только там куча строк, а здесь - всего одна

Если там нет ошибки при компиляции, то и здесь не должно быть (и наоборот), а иначе - бардак

 
A100:

Тогда это противоречит Вашей же концепции, что переменная считается объявленной с момента завершения объявления. Зачем тогда ее придумываеть вообще было? Если в одном случае так, а в другом - по другому

В хорошем языке - единые правила, а не наоборот
В данном случае все ок.

Речь о том, что можно получить в других, более хитрых условиях неопределенное поведение. Самострелы в С++ реализуемы.
 
A100:

А в чем принципиальное отличие от исходного примера? Уберите лишнее и получите:

Только там куча строк, а здесь - всего одна

Если там нет ошибки при компиляции, то и здесь не должно быть (и наоборот), а иначе - бардак

Вы не правы, это не одно и то же.

Описание статической переменной в классе, является её предъобъявлением (аналогично предъобъявлению функции или класса), а вот размещение, по сути, лишь указывает компилятору, где переменная будет храниться в памяти и когда она должна быть проинициализирована

 
Ilyas:

Вы не правы, это не одно и то же.

Описание статической переменной в классе, является её предъобъявлением (аналогично предъобъявлению функции или класса), а вот размещение, по сути, лишь указывает компилятору, где переменная будет храниться в памяти и когда она должна быть проинициализирована

Тогда почему здесь ошибка (2), если i уже предобъявлена ранее (1)?

class A {
public: 
        static int i; //(1)
};
int A::i = i = 123;   //(2) Error: unresolved static variable 'A::i'
 
Ilyas:

Есть какой-то смысл делать Reserve в ArrayResize для string-массива? Или выигрыша от этого не получить?

 
Время изменения ранее написанного поста можно увидеть через Профайл->Все сообщения или Поиск.
 

Всем, привет!

Подскажите, пожалуйста, можно ли из скрипта создать окно индикатора которое  прижато  к левому или правому краю графика? Какой-нибудь там sub_window_align = left или что-то подобное...

Заранее спасибо!

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Признак отрисовки ценового графика. Если установлено значение false, то отключается отрисовка любых атрибутов ценового графика и устраняются все отступы по краям графика: шкалы времени и цены, строка быстрой навигации, метки событий Календаря, значки сделок, тултипы индикаторов и баров, подокна индикаторов, гистограммы объёмов и т.д. Значение...
 

Уважаемые разработчики!

Есть ли возможность управлять очередностью передачи нового тика хэндлам индикаторов?

Ситуация такая, первый индикатор вызывает другой, но так как этот "другой" был создан после первого, то тик приходит на первый и "другой" ему сообщает, что он ещё не посчитал новый тик на новом баре, и первый индикатор повторно пересчитывает себя, оставляя нерассчитанным значение индикатора, что критично для советника.

 
Подскажите, каким кодом закрывается окно Обзора рынка?
 
Aleksey Vyazmikin:

Уважаемые разработчики!

Есть ли возможность управлять очередностью передачи нового тика хэндлам индикаторов?

Ситуация такая, первый индикатор вызывает другой, но так как этот "другой" был создан после первого, то тик приходит на первый и "другой" ему сообщает, что он ещё не посчитал новый тик на новом баре, и первый индикатор повторно пересчитывает себя, оставляя нерассчитанным значение индикатора, что критично для советника.

Нет. В таких конструкциях единственное решение - переводить индикатор в класс и добавлять в советник как экземпляр класса, тогда можно выстроить последовательность расчетов