Форум программистов, компьютерный форум CyberForum.ru

Вызывается не тот конструктор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна документация по библиотеке fann на русском http://www.cyberforum.ru/cpp/thread519171.html
необходим справочник по функциям на русском для библиотеки fann. ну или хотя бы как извлечь коэффициенты весов (коэффициенты связи) чтобы можно было сохранять обучение сети и каждый раз заново не обучать.
C++ Шумы Перлина Мне в Универе дали индивидуальное задание, написать простенькую "матрицу ландшафта" используя шумы Перлина. В инете всё на других языков (и много не понятно), и везде используются разные функции о_О (Вплоть до полного рандома). Можете объяснить как именно этой гадостью пользоваться. П.С. Мне не нужен код программы, я хочу понять как оно должно работать. http://www.cyberforum.ru/cpp/thread518727.html
teamviewer C++
это рпограмма для удаленного управления с одного компа другим.мне кажется она написана на С. она хороша тем что ей не надо знать IP компа. ей нужно лишь знать некий ID сгенерированный на управляемом компе. может кто подскажет как такое реализовано в теории. найти в сети комп по ID минуя любые низлежащие препятствия ввиде IP адресов, маков, шлюзов роутеров NAT и прочего
Можно ли использовать параметр шаблона без типа? C++
#define TV(OBJ) typeof(OBJ), OBJ template<class T, T obj> class A {/*...*/}; int f (int); A<TV(f)> a; Можно ли сделать такое-же, но без препроцессора?
C++ Параллельное вычисление http://www.cyberforum.ru/cpp/thread517569.html
Необходимо реализовать последовательный и параллельный алгоритм вычисления факториала N!. Есть только последовательный расчёт. Если кто может распараллелить помогите пожалуйста. #include <stdio.h> #include <iostream> #include <sstream> #include <vector> #define base 1000000000 void writelong(std::vector<int> vec){ printf ("%d", vec.empty() ? 0 : vec.back()); for (int...
C++ Контроль загрузки ЦП Написал программу для обработки данных(точнее обучение многослойного персептрона), алгоритм линейный. Ноут 3 Гб оперативки, Проц - i3 380M (2 ядра/4 потока по 2.53ГГц/ядро) Когда программа работает я смотрю в диспетчере устройств: она использует 2 мб оперативки и 25% процессора. 25% это хорошо комп не подвисает)) можно чего угодно делать) Но в этом еще и минус: не могу увеличить % загрузки.... подробнее

Показать сообщение отдельно
mdt::Vladimir
8 / 8 / 0
Регистрация: 23.09.2011
Сообщений: 32
15.03.2012, 20:03  [ТС]     Вызывается не тот конструктор
Аа, ну да... Я и не заметил, что там тоже init )) Это метод класса MQLCopir, т.е. там нет рекурсии. Я просто не целиком объявление класса выложил. На всякий случай, вот полностью:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class MQLCopir : protected ClientCopir
{
private:
    bool _fatal;
    std::string _errMsg;
protected:
    void fatalError(bool fatal) {_fatal = fatal;}
    void errorMessage(const std::string &msg) {_errMsg = msg;}
public:
    MQLCopir(const char *login, const char *pass);
    MQLCopir(const std::string &login, const std::string &pass);
    MQLCopir(const std::string &msg, bool fatal = false);
    ~MQLCopir() {if (getTradeMode() != Error) deinit();}
    bool fatalError() const {return _fatal;}
    std::string errorMessage() const {return _errMsg;}
    void clearOrders() {clientOrders.clear();}
    void addOrder(const MQLOrder &order) {clientOrders.push_back(order);}
    void sendOrders();
protected:
    using ClientCopir::addOrder;
    void updateOrders(int ID, const OrderList &ol);
private:
    void init(const std::string &login, const std::string &pass, bool toStart = true);
    void deinit();
    Poco::Mutex orderMutex;
    typedef std::map<int, OrderList> AllOrders;
    AllOrders serverOrders;
    MQLOrderList clientOrders;
};
А то, что вызывается неправильный конструктор, проверял в отладчике пошагово. Ну и программа выдаёт на косоль сообщение об ошибке, которое соответствует тому, что я ввожу в login, т.е. в этом плане всё сходится и 100%, что вызывается конструктор MQLCopir(std::string&, bool). Тут всё-таки можно предположить, что возникает исключение, но это не так.

Добавлено через 5 минут
Может ли быть подобное из-за обращения по неверному указателю или из-за переполнения буфера где-нибудь в программе? Я знаю, что бывают невероятные глюки из-за такого, но обычно всё отваливается после этого, поэтому как-то такой вариант не рассматриваю, тем более, что тут просто тест и в нём мало что происходит, чтоб такие ошибки возникали.

Добавлено через 27 минут
Всё, разобрался... Я даже к конструктору MQLCopir(const std::string&, bool) добавил ещё третий параметр, чтобы уж точно он не мог быть вызван, НО каким-то фантастическим образом вызывался. В итоге обратил внимание, что исполняемый файл у меня позавчерашний (тот, что тест содержит), сам же тестируемый код собирается в библиотеку, которая имеет нормальную дату модификации. Короче проблема в том, что из-за чего-то не собирался этот бинарник, но библиотека собиралась, ну и как-то этот тест вызывал другой конструктор. Вот такая бредовая ситуация... А я уж думал, что у меня компилятор глючит.

Добавлено через 4 минуты
Хотя нет, всё равно бред какой-то, ведь в тесте конструктор не вызывается, а вызывается функция из библиотеки, которая уже вызывает конструктор, и которая актуальная.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru