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

 
Valeriy Yastremskiy:

Не, все правильно, не инная j на первой итерации иницилизируется как раз j=f(i) а на второй только будет i=j Думаю компилятор сверху вниз парсит и дает предупреждения.

Да, но до первой итерации переменная j ещё не инициализирована, на это и ругается компилятор.

 
Valeriy Yastremskiy:

Да, погорячился, во всех случаях не иницилизированной переменной есть присвоение, а не наоборот. Возможно компилятор построчно сверху вниз идет, и тогда да, присвоение внизу, а вверху наоборот. Там же предупреждение возможно присвоение неинициинной переменной.

Возможно это когда компилятор объективно не располагает информацией:

void f( int& i ) { /*вычисления*/ }
void OnStart()
{
        int i;
        f( i );
        int j = i; //нормально ??? а если i не инициализирована?
        printf("%d",j);
}

т.е. может в f() была инициализация i, а может и нет. И здесь C++ компилятор даёт предупреждение, а MQL почему то - нет

 
A100:

Возможно это когда компилятор объективно не располагает информацией:

т.е. может в f() была инициализация i, а может и нет. И здесь C++ компилятор даёт предупреждение, MQL нет

Не могу знать, как говорят. думаю более простой компилятор. Парсит синтаксис по верстке сверху вниз на явные синтаксич. ошибки, не соблюдение типов и на использование не инных переменных. Когда во втором примере инициализацию поставили вниз, предупреждение не выдал. Хотя исполнение программы идентично. 

 
A100:

Возможно это когда компилятор объективно не располагает информацией:

т.е. может в f() была инициализация i, а может и нет. И здесь C++ компилятор даёт предупреждение, а MQL почему то - нет

В С++ не скрыты адреса ячеек памяти, по этому переменная инициализируется мусором.
В Mql адреса ячеек памяти скрыты и не доступны. Тут уже как разработчик Mql намудрил в компиляторе ))

Короче инициализируйте всегда переменные, и не будет головняка.
 
Roman:

Да, но до первой итерации переменная j ещё не инициализирована, на это и ругается компилятор.

если эту переменную не использовать или поставить присвоение i=j вниз тела цикла, что будет идентично выполнению первого варианта, то предупреждений не будет. Компилятор не проверяет логику цикла и последовательность исполнения, а сверху вниз проверяет синтаксис, думаю так, не знаю точно)

 
Ошибка в сервисе поиска по сайту. Такой поиск не выдает этот результат.
 

fxsaber:

И в других ситуациях.

жмешь ответить вместо это качаешь терминал - шикарное нововведение

 
Ошибка при компиляции:
#define MACRO(X)\ //Error: '\' - unexpected in macro definition
              X
[Удален]  
TheXpert:

жмешь ответить вместо это качаешь терминал - шикарное нововведение

Это всё одного поля ягодки... И с тем вопросом, за который меня тут чуть не прибили (в одном выпадающем меню кошелёк и непрочитанные темы - прям братья-близнецы), и с Вашим, и ещё (не знаю как у кого) у меня висит такая ... "фича"

Вот что делать с этой надписью? Нигде никакой ссылки на просмотр кто просится и зачем, нет (возможно, она лежит в кошельке, но я туда не заглядывал). 

Очень стойкое впечатление, что все эти "замечательные" изменения на сайте делает один человек.... И лично под себя. Именно так, как ОН сам считает нужным для себя же. И на наше мнение чихать он хотел...

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

Вот что делать с этой надписью?

Хз, когда есть нормальные заявки эта надпись пропадает.