Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Поиск в документации доступен через MetaTrader 5. Ищи и изучай!
nys2000
133
nys2000 2010.11.26 14:46 

Здравствуйте. Очень нужен совет. Пишу на MQL4. Столкнулся с проблемой, сути которой понять не могу.

Ситуация следующая. Объявляю гловальные переменные:

extern double A=60;
extern double B=50;
extern double C=110;

Затем - локальные с присваиванием им значений глобальных:

static double A1=A;
static double A2=A;
static double B1=B;
static double B2=B;
static double C1=C;
static double C2=C;

Получаю сообщение об ошибке: "ожидается инициализация" переменных A,B,C.

Т.е. объявление глобальных переменных не является инициализацией?!!

Rustamzhan Salidzhanov
7682
Rustamzhan Salidzhanov 2010.11.26 14:50  

Где у вас находяться глобальные, а где локальные приведите пример с кодом, а то знаете все медиумы нынче в отпуске. код размещается нажав кнопочку "SRC"

Andrey F. Zelinsky
31043
Andrey F. Zelinsky 2010.11.26 14:53  
nys2000:

Здравствуйте. Очень нужен совет. Пишу на MQL4. Столкнулся с проблемой, сути которой понять не могу.

Ситуация следующая. Объявляю гловальные переменные:

extern double A=60;
extern double B=50;
extern double C=110;

Затем - локальные с присваиванием им значений глобальных:

static double A1=A;
static double A2=A;
static double B1=B;
static double B2=B;
static double C1=C;
static double C2=C;

Получаю сообщение об ошибке: "ожидается инициализация" переменных A,B,C.

Т.е. объявление глобальных переменных не является инициализацией?!!

вы выполняете команду "присваивание", а в разделе объявления переменных выполняется только "инициализация"

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

PapaYozh
3768
PapaYozh 2010.11.26 14:55  
nys2000:

Т.е. объявление глобальных переменных не является инициализацией?!!

Глобальные и статические переменные могут быть проинициализированы только константой соответствующего типа. Локальные переменные могут быть проинициализированы любым выражением, а не только константой.

Читайте документацию.

nys2000
133
nys2000 2010.11.26 15:00  
xrust:

Где у вас находяться глобальные, а где локальные приведите пример с кодом, а то знаете все медиумы нынче в отпуске. код размещается нажав кнопочку "SRC"


//--------------------------------------------------------------------
//21/11/2010
//nys_work_8_v1.mq4

extern double A=60;
extern double B=50;
extern double C=110;

static double A1=A;
static double A2=A;
static double B1=B;
static double B2=B;
static double C1=C;
static double C2=C;

init()

{

}

start()

{

}

int openorder()

{

}

Это схематично, чтоб не засорять эфир. Переменные обрабатываются функцией openorder().

nys2000
133
nys2000 2010.11.26 15:08  
PapaYozh:

Глобальные и статические переменные могут быть проинициализированы только константой соответствующего типа. Локальные переменные могут быть проинициализированы любым выражением, а не только константой.

Читайте документацию.


Спасибо. Сработало.
Rustamzhan Salidzhanov
7682
Rustamzhan Salidzhanov 2010.11.26 15:09  
nys2000:


//--------------------------------------------------------------------
//21/11/2010
//nys_work_8_v1.mq4

extern double A=60;
extern double B=50;
extern double C=110;

static double A1=A;
static double A2=A;
static double B1=B;
static double B2=B;
static double C1=C;
static double C2=C;

init()

{

}

start()

{

}

int openorder()

{

}

Это схематично, чтоб не засорять эфир. Переменные обрабатываются функцией openorder().

Здесь они все глобальные
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий