Новая версия платформы MetaTrader 5 build 3550: улучшения и исправления - страница 22
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как раз наоборот. Данная ошибка подтверждает, что шаблон берется в расчет и компилятор не может узнать тип.
Вызов f<int> - однозначно, шаблон.
Вызов f в себе не содержит никакого намека на шаблон. Можно подумать, что f == f<void>, но и такого нет.
Вызов f в себе не содержит никакого намека на шаблон. Можно подумать, что f == f<void>, но и такого нет.
Для шаблонных функций всегда работает правило (попытки) неявного выведения типа по вызову, если тип-параметр(ы) не указаны явно.
Для шаблонных функций всегда работает правило (попытки) неявного выведения типа по вызову, если тип-параметр(ы) не указаны явно.
Нужной шаблонной сигнатуры не находит (доказательство) - надо искать среди остальных. Этого не происходит. Другие языки с таким же поведением?
Нужной шаблонной сигнатуры не находит ( доказательство ) - надо искать среди остальных. Этого не происходит. Другие языки с таким же поведением?
Нет, он отлично компилируется и работает с C++ (без использования NULL, который отличается от C++).
Спасибо!
Нет, он отлично компилируется и работает с C++ (без использования NULL, который отличается от C++).
Не все фичи C++ реализованы. Некоторые реализованы с ошибкой.
Но в данном случае, с высоты 30-летнего опыта программирования на C++, я бы сказал: "не надо так делать". Это - путь к трудноуловимым ошибкам.
Больше скажу. Одинаковые имена методов разных (но похожих классов) (особенно в больших проектах) затрудняют поиск вызовов этих методов по проекту
Одинаковые имена методов разных (но похожих классов) (особенно в больших проектах) затрудняют поиск вызовов этих методов по проекту
Как практикуете наименования тогда?
Если код из примера представить как скрипт:
То после компиляции имеем:
Другие примеры из раздела "Преобразования матриц" компилируются нормально.
Если конечно пример подразумевает своё воспроизведение. Если нет, то вопрос снимается...
Вот рабочий пример
Как практикуете наименования тогда?
Имя класса + имя метода. Например, TerminalShutdown, TesterShutdown, SymbolShutdown etc
В одном и том же классе не должно быть одинаковых имён методов. Пусть даже и разные типы входных параметров. Например, ObjectInitFromFile и ObjectInitFromArray
Имя класса + имя метода. Например, TerminalShutdown, TesterShutdown, SymbolShutdown etc
Правильно понял?