Начал применять в проекте указатели на функции, заодно попробовал typedef в традиционном применении и выяснил, что простейший код не компилируется. Я не понял, typedef работает только с указателями на функции?
Вышеприведенный код работает без проблем. А вот такой не компилируется. В VS2017 все компилируется без ошибок.
Указатели на функции - это некошерно.
Используй силу, Люк указатели на объекты !
Посмотрите справку и вопрос отпадет.
Рашид, я не пионер юный и всегда первым делом смотрю справку и роюсь поиском по форуму. В справке написано следующее, что не соответствует действительности. Если я что-то упустил, не могли бы вы быть конкретнее и явно ткнуть носом в ошибку?
------------- из справки ------------
Пользовательские типы
Ключевое слово typedef в языке C++ позволяет создавать пользовательские типы данных – для этого достаточно определить новое имя типа данных для уже существующего типа данных. При этом сам новый тип данных не создается, а лишь определяется новое имя для уже существующего типа. Благодаря использованию пользовательских типов можно делать программы более гибкими: для этого иногда достаточно изменить typedef-инструкции с помощью макросов подстановки (#define). Использование пользовательских типов позволяет также улучшить читабельность кода, поскольку для стандартных типов данных с помощью typedef можно использовать собственные описательные имена. Общий формат записи инструкции для создания пользовательского типа:
typedef тип новое_имя;
Здесь элемент тип означает любой допустимый тип данных, а элемент новое_имя – новое имя для этого типа. Важно отметить, что новое имя определяется только в качестве дополнения к существующему имени типа, а не для его замены. В языке MQL5 с помощью typedef можно создавать указатели на функции.
- www.mql5.com
Указатели на функции - это некошерно.
Используй силу, Люк указатели на объекты !
Жорж, почитай, что такое событийная модель и что такое делегаты в C#. Указатели на функции в MQL4/5 работают нормально и позволяют создать НЕ-объектно-ориентированный аналог делегата.
Жорж, почитай, что такое событийная модель и что такое делегаты в C#. Указатели на функции в MQL4/5 работают нормально и позволяют создать НЕ-объектно-ориентированный аналог делегата.
Так а я и не против.
Свинина - это тоже очень даже питательно. Но - не к лицу ортодоксальному старому еврею ею питаться. :)
------------- из справки ------------
Ключевое слово typedef в языке C++ позволяет ....
В языке MQL5 с помощью typedef можно создавать указатели на функции.
Зеленым по белому написано что можно делать в MQL5, зачем лезть в плюсы - не понятно.
Зеленым по белому написано что можно делать в MQL5, зачем лезть в плюсы - не понятно.
typedef тип новое_имя;
Здесь элемент тип означает любой допустимый тип данных, а элемент новое_имя – новое имя для этого типа. Важно отметить, что новое имя определяется только в качестве дополнения к существующему имени типа, а не для его замены. В языке MQL5 с помощью typedef можно создавать указатели на функции.
Каждый видит то, что ищет. Там написано, как уже сказано выше другими в этой ветке:
В языке MQL5 с помощью typedef можно создавать указатели на функции.
Каждый видит то, что ищет. Там написано, как уже сказано выше другими в этой ветке:
Я вижу четко то, что написано в справке! А там написано - Ключевое слово typedef в языке C++ позволяет создавать пользовательские типы данных – для этого достаточно определить новое имя типа данных для уже существующего типа данных.
А потом идет приписка про указатели на функции. Значит надо не путать людей а написать четко - В языке MQL5 с помощью typedef можно создавать исключительно указатели на функции и более ничего.
Зеленым по белому написано что можно делать в MQL5, зачем лезть в плюсы - не понятно.
Сергей, вам плохо видно на экране, что ли? Или такое желание сказать КУ-у-у?
---------------------------
Вопрос закрыт
Я вижу четко то, что написано в справке! А там написано - Ключевое слово typedef в языке C++ позволяет создавать пользовательские типы данных – для этого достаточно определить новое имя типа данных для уже существующего типа данных.
А потом идет приписка про указатели на функции. Значит надо не путать людей а написать четко - В языке MQL5 с помощью typedef можно создавать исключительно указатели на функции и более ничего.
Сергей, вам плохо видно на экране, что ли? Или такое желание сказать КУ-у-у?
---------------------------
Вопрос закрыт
Вы не то выделяете упорно. Так что Сергей прав. Действительно вопрос закрыт
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Начал применять в проекте указатели на функции, заодно попробовал typedef в традиционном применении и выяснил, что простейший код не компилируется. Я не понял, typedef работает только с указателями на функции?
Вышеприведенный код работает без проблем. А вот такой не компилируется. В VS2017 все компилируется без ошибок.