Ошибка "ambiguous call to overloaded function" для виртуальных функций - почему ? - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Андрей, в принципе я понял о чем ты говоришь. Прочувствовал :)
Твой главный посыл - не всовывать лишнего. Иначе это не стд.либа, а набор для конкретного решения, пусть даже и широкого. И в случае ненужности этого функционала прогер не станет использвоать классы стандартной либы именно по причине излишнего функционала.
Ну тогда здесь надо МК попотеть немного и написать действительно абстрактные классы. Каждый из которых решал бы свою абстрактную задачу, не внося к себе лишний функционал для задумок о его использования на будущее.Ну понятно.
Теоретик-архитектор-фабрикостроитель в чистом виде.
Ну понятно :) нечего сказать по сути переходим на личности :) . Вы мое портфолио не видели.
Признавать костыли или принимать критику в штыки - сугубо ваш выбор. Я собственно на конструктив и не надеялся.
Ну понятно :) нечего сказать по сути переходим на личности :) . Вы мое портфолио не видели.
Признавать костыли или принимать критику в штыки - сугубо ваш выбор. Я собственно на конструктив и не надеялся.
Я вас тоже понимаю, но для себя я решил подобный вопрос так - есть объекты, есть операции с ними, есть стандартная библиотека, построенная на них. Ничто не мешает создать свою библиотеку и пользоваться ей. Да, это костыль, но он нужен только единицам.
Но для тех, кто только начинает программировать, жесткая связь между объектами и коллекциями может быть и оправдана.
Иначе это не стд.либа, а набор для конкретного решения, пусть даже и широкого.
Именно набор для конкретного решения "объект коллекции" это и есть. Так и объявляется:
Класс CObject является базовым классом для построения стандартной библиотеки MQL5.
Класс CObject обеспечивает всем своим потомкам возможность быть элементом связанного списка. Кроме того определяется ряд виртуальных методов для дальнейшей реализации в классах-потомках.
Хотите багу? Вот просто после 15 минут просмотра кода? )
CArray<тип>::QuickSort(int beg,int end,const int mode)
аргумент mode не используется вообще.
А еще надо вспомнить отсутствие хоть одного перегруженного оператора (At и Update это круто :) ), публичный метод Shutdown, Search который работает только для сортированных массивов, а, еще классный метод Delta.
Нахрена для сайза применять знаковый тип? Массив может быть отрицательного размера?
Гг а что вообще такое вариант сортировки массива? Справка не хочет признаваться ))
Хотите багу? Вот просто после 15 минут просмотра кода? )
CArray<тип>::QuickSort(int beg,int end,const int mode)
аргумент mode не используется вообще.
А еще надо вспомнить отсутствие хоть одного перегруженного оператора (At и Update это круто :) ), публичный метод Shutdown, Search который работает только для сортированных массивов, а, еще классный метод Delta.
At и Update писались во времена, когда перегрузки еще не было. Это легко добавим.
Shutdown - претензия к публичности или названию? Публичность обоснована, а имя приемлемо.
Search без сортировки неразумен, тут такой подход.
Delta - в чем проблема? пишите конкретно. но похоже, просто смысла дельты в методах поиска и сравнения не уловили
Понял. Бесполезно. Удачи.
То есть, ответить на мои вопросы не можете, как и привести обоснования.
Посмотрите на свои неоформленные и неконкретные претензии и подумайте, чем они на самом деле являются. Вам не хватает системности и работы в режиме предоставления доказательств.
То есть, ответить на мои вопросы не можете, как и привести обоснования.
Эмм вы внимательно читали мною написанное?
Еще раз.
CArray<тип>::QuickSort(int beg,int end,const int mode)
аргумент mode не используется вообще.
Специально для вас вот метод
Снизойдите пожалуйста до того, чтобы попробовать найти аргумент mode в теле метода.
Затем внимательно перечитайте то что вы написали ))) выше.
Он используется в CArrayObj, где передается в функцию Compare() для сравнения объектов. Причем эта функция наследуется от CArray. Так что тут небольшой оверхед по общности подхода.
За последнюю фразу пять баллов ) . И про необоснованность тоже перечитайте. На всякий случай -- вы знаете как ShutDown переводится? Я так понимаю у вас практики ревью кода нет.
А потом... Потом на ваше усмотрение опять же. Можете банить, можете, сказать что я теоретик-нуб, а можете (а вдруг, чем черт не шутит) извиниться.
C Shutdown понятно, через несколько комментариев Вы соизволили сформулировать претензию. Она в имени. Но это не проблема и не баг.