А в чем проблема? Используйте S::z, что бы получить другой результат.
3.4.1 Unqualified name lookup [basic.lookup.unqual]
If a variable member of a namespace is defined outside of the scope of its namespace then any name that appears in the definition of the member (after the declarator-id) is looked up as if the definition of the member occurred in its namespace.
[Example:
namespace N {
int i = 4;
externint j;
}
int i = 2;
int N::j = i; // N::j == 4
ни слова про unqualified name lookup, а это базовые вещи. Ну дело хозяйское в общем-то - изучать язык по сообщениям Рената, отсутствие документации и обратной совместимости, но тогда язык производит впечатление детской игрушки.
ни слова про unqualified name lookup, а это базовые вещи. Ну дело хозяйское в общем-то - изучать язык по сообщениям Рената, отсутствие документации и обратной совместимости, но тогда язык производит впечатление детской игрушки.
поддерживаю, уже назрело отказаться от справки в сторону правил языка, т.к. по сути mql5 это уже другой язык программирования
Да, вы правы, это относится именно к namespace. Для классов есть отдельный пункт, ну суть та же:
9.2.3.2 Static data members
[class.static.data]
2. The declaration of a non-inline static data member in its class definition is not a definition and may be of
an incomplete type other than cv void. The definition for a static data member that is not defined inline
in the class definition shall appear in a namespace scope enclosing the member’s class definition. In the
definition at namespace scope, the name of the static data member shall be qualified by its class name using
the :: operator. The initializer expression in the definition of a static data member isin the scope of its class (3.3.7).
[Example:
class process {
static process* run_chain;
static process* running;
};
process* process::running = get_main();
process* process::run_chain = running;
The static data member run_chain of class process is defined in global scope; the notation process::run_chain specifies that the member
run_chain is a member of class process and in the scope of class process. In the static data member definition, the
initializer expression refers to the static data member running of class process. — end example]
Зачем внутри CTrade::PositionModify указывается Magic ?
m_request.magic =m_magic;
Ошибка компилятора:
Alert: 3
Ошибка компилятора:
А в чем проблема?
Используйте S::z, что бы получить другой результат.
Alert: 3
А в чем проблема?
Используйте S::z, что бы получить другой результат.
3.4.1 Unqualified name lookup [basic.lookup.unqual]
If a variable member of a namespace is defined outside of the scope of its namespace then any name that appears in the definition of the member (after the declarator-id) is looked up as if the definition of the member occurred in its namespace.
[Example:
end example]
Все таки у нас MQL язык, а не С++.
Если есть желание можете и на "работу" nested namespace в MQL пожаловаться, там тоже много чего от С++ отличается.
Все таки у нас MQL язык, а не С++.
А по делу сказать чего-нибудь можете? Где задокументирован поиск имён без квалификаторов? Из справки:
---------
Синтаксис
Синтаксически язык программирования торговых стратегий MQL5 очень похож на язык программирования С++, за исключением некоторых возможностей:
------------
ни слова про unqualified name lookup, а это базовые вещи. Ну дело хозяйское в общем-то - изучать язык по сообщениям Рената, отсутствие документации и обратной совместимости, но тогда язык производит впечатление детской игрушки.
А класс точно относится к namespace?
А по делу сказать чего-нибудь можете? Где задокументирован поиск имён без квалификаторов? Из справки:
---------
Синтаксис
Синтаксически язык программирования торговых стратегий MQL5 очень похож на язык программирования С++, за исключением некоторых возможностей:
------------
ни слова про unqualified name lookup, а это базовые вещи. Ну дело хозяйское в общем-то - изучать язык по сообщениям Рената, отсутствие документации и обратной совместимости, но тогда язык производит впечатление детской игрушки.
поддерживаю, уже назрело отказаться от справки в сторону правил языка, т.к. по сути mql5 это уже другой язык программирования
поддерживаю, уже назрело отказаться от справки в сторону правил языка, т.к. по сути mql5 это уже другой язык программирования
А разве где-то говорили что-то обратное???
А класс точно относится к namespace?
Да, вы правы, это относится именно к namespace. Для классов есть отдельный пункт, ну суть та же: