| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Добавление объекта самого в конструкторы |
| Автор: david_yu 7.2.2016, 23:05 |
| возможно глупы вопроса, перехожу на программирование с Delphi на C++ Есть глобально созданый объект В нем реализован вектор: class App { private: std::vector<CustomObjectConsol*> flist; public: void addobject(CustomObjectConsol *co) { flist.push_back(co); } }; App *ap = new App; class CustomObjectConsol { public: CustomObjectConsol() { ap->addobject(this); } }; Как это можно реализовать? Ошибка C2027 использование неопределенного типа "App" Ошибка C2227 выражение слева от "->addobject" должно указывать на тип класса, структуры или объединения либо на универсальный тип |
| Автор: rudolfninja 7.2.2016, 23:49 |
| Вы когда объявляете класс, он не видит глобальных объектов. То есть, в реализации класса нельзя ссылаться на внешние глобальные объекты. В вашем случае надо в матод CustomObjectConsol передавать адрес App и использовать переданный параметр. |
| Автор: math64 8.2.2016, 08:05 | ||
|
| Автор: david_yu 9.2.2016, 23:09 |
| спасибо помогло... правда сделал так app.h и app.cpp - все нормально собралось |