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

 

Зачем нам тут священные войны ?

Как написал A100

Незначительная и просто обходится, но все равно ошибка при компиляции:

#define MACRO()    Print( "OK" ) //Error: ')' - unexpected in macro formal parameter list
void OnStart() { MACRO(); }
Я в курсе данного различия с С++ (и хочу это различие устранить), но пока есть более приоритетные задачи.
 
Ilyas:

Выразите как разработчик языка свое отношение к упоминанию и сравнению с++ с mql.

[Удален]  
Andrei Trukhanovich:

Выразите как разработчик языка свое отношение к упоминанию и сравнению с++ с mql.

Упоминание и сравнение - это не беда.

А вот постоянное эээ ... нытьё (не подобрал другого слова, извините) о том что MQL должен полностью соответствовать (быть аналогом) С++. Вот это как?

 

Ошибка в файле <WinAPI\WinUser.mqh>

int                                 GetMenuStringW(HANDLE menu,uint uIDItem,string  str,int max,uint flags);

а должно быть

int                                 GetMenuStringW(HANDLE menu,uint uIDItem,ushort &str[],int max,uint flags);
 

Еще заметил такую особенность, что если использую свой "WinUser.mqh", а не стандартный <WinAPI\WinUser.mqh>

то результирующий .ex5 файл получается в 2 раза меньше. Из каких то принципиальных отличий в настоящий момент могу выделить отсутствие у меня enum-ов (но они и не используются фактически)

P.S. Добавил в свой "WinUser.mqh" неиспользуемых структур - размеры .ex5 сблизились, но дело в том что добавленные структуры фактически не используются

 

Igor Makanu:

#define MACRO(void)    Print( "OK" )

Лучше  #define MACRO( dummy ),  плюс желательно сделать защиту от случайной передачи какого-то аргумента в макрос. Например:

#define MACRO(dummy)  Print("OK") dummy
 

В свое время просил Разработчиков добавить возможность таких пробелов\tab

#ifndef MACRO1
#    define MACRO2
#    ifdef MACRO3
#        define MACRO4
#        ifndef MACRO5
#        endif
#    endif
#endif

но сказали что вроде нецелесообразно. С другой стороны тогда в следующем примере:

#ifdef MACRO
#       endif //(1)
#endif        //(2)

ожидалась ошибка: или что нельзя пробел\tab (1:'#' - invalid preprocessor command) - или что лишний endif (2:'#endif' - unexpected token)

 
Alexey Navoykov:

Лучше  #define MACRO( dummy ),  плюс желательно сделать защиту от случайной передачи какого-то аргумента в макрос. Например:

ОК

Спасибо!

 
Ilyas:

Зачем нам тут священные войны ?

Вот именно что не надо.

Но есть отряд хейтеров, которые разводят срачи при любом упоминании слова С++. и далеко не только в этой теме.

мало того, они разводят их при вполне явной поддержке как минимум одного модератора.

Значительная часть нападок идет на a100 и meat, на которых вместе с fxsaber приходится львиная часть багрепортов.

Не хотите с этим что-нибудь сделать?

 

Всем привет! Может быть вопрос немного странный. Но у себя в профиле, все еще пункт " Партнер".

Знаю что пару лет назад, закрыли партнерскую программу, на получение процента за привлечение в Маркет и Сигналы.

Но пункт все еще есть, вот думаю может что-то изменилось и партнерскую программу можно как-то включить?