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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Vikent
5 / 5 / 1
Регистрация: 21.07.2010
Сообщений: 35
#1

list.push_back ошибка! - C++

21.07.2010, 20:46. Просмотров 1060. Ответов 3
Метки нет (Все метки)

Только начинаю писать на C++. Помогите пожалуйста разобраться в ламерской ошибке!
В классе инициализирую list<CProgressCtrl>. Затем в методе пытаюсь положить в неё объект и получаю ошибку компиляции error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'. В чем может быть дело?

C++
1
2
3
4
5
6
list<CProgressCtrl> m_observers;
 
void SyncronizationProgress::Attach(CProgressCtrl progressCtrl)
{
    m_observers.push_back(progressCtrl);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2010, 20:46     list.push_back ошибка!
Посмотрите здесь:

Про list push_back - C++
list &lt;int&gt; temp; temp.push_back(3); temp.push_back(2); temp.push_back(1); list &lt;int&gt;::iterator iter = temp.begin(); for(int...

Почему не компилируется list.push_back( double[3] ) ? - C++
А почему компилятор отказывается добавлять в список массив? std::list&lt;double&gt; lst; // у компилятора нет замечаний double arr =...

Ошибка push_back() в vector - C++
Доброго времени суток. Сразу код : #include &quot;stdafx.h&quot; #include &quot;expat.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

класс vector ошибка в push_back() - C++
#include &lt;iostream&gt; #include &lt;cstddef&gt; using namespace std; class vector { public: ...

Push_back(1.) - C++
Доброго времени суток, уважаемые форумчане! Ковыряя чужой код, наткнулся на конструкцию: JcikList.push_back(1.); ...

Push_back - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;iterator&gt; #include &lt;algorithm&gt; using namespace std; int main() { ...

Ошибка записи в list - C++
Считываю из файла текст, разбиваю на токены и пробую записать в список. Крашит. Подскажите где ошибся? #define _CRT_SECURE_NO_WARNINGS ...

Initialization list - ошибка - C++
class Polynomial { public: Polynomial():head_(NULL):grade_(-1){}; private: List* head_; int...

Push_back и стандарт С++ - C++
vector&lt;int&gt; vA; vA.push_back(s); В случае, если в vA нет свободного места, выделяется новое, старые данные перемещаются в новую...

push_back vs emplace_back - C++
собственно тема обсуждалась там, я сделал вывод, что надо использовать emplace_back теперь, вроде как эффективнее местами. Одно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.07.2010, 22:42     list.push_back ошибка! #2
Vikent, как я понял, конструктор копирования CObject является закрытым, а для хранения экземпляров в списке необходимо создавать копии объектов. Единственный выход, котороый я вижу, это хранить вместо экземпляров CProgressCtrl указатели на них т.е.:
C++
1
2
3
4
5
std::list<CProgressCtrl*> m_observers;
 
void SyncronizationProgress::Attach(CProgressCtrl* pProgressCtrl) {
  m_observers.push_back(pProgressCtrl);
}
Главное не забудь их в нужный момент удалить.
Vikent
5 / 5 / 1
Регистрация: 21.07.2010
Сообщений: 35
21.07.2010, 22:48  [ТС]     list.push_back ошибка! #3
Спасибо, CyBOSSeR! Помогло!

 Комментарий модератора 
Его ник CyBOSSeR.
Чтобы не переписывать ник вручную, просто нажмите на него в левой части окна.
CyBOSSeR
21.07.2010, 22:52     list.push_back ошибка!
  #4

Не по теме:

Vikent, вообще-то я CyBOSSeR
Не за что.

Yandex
Объявления
21.07.2010, 22:52     list.push_back ошибка!
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru