Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

21.07.2010, 20:46. Просмотров 1083. Ответов 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);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2010, 20:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос list.push_back ошибка! (C++):

Про 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: ...

Ошибка при компиляции undefined reference to `List<int>::List()'| - C++
Доброго времени суток=) столкнулась с такой проблемой нужно написать шаблон класса. При компиляции выдает ошибку undefined reference to...

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

3
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.07.2010, 22:42 #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);
}
Главное не забудь их в нужный момент удалить.
1
Vikent
5 / 5 / 1
Регистрация: 21.07.2010
Сообщений: 35
21.07.2010, 22:48  [ТС] #3
Спасибо, CyBOSSeR! Помогло!

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

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2010, 22:52
Привет! Вот еще темы с ответами:

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 нет свободного места, выделяется новое, старые данные перемещаются в новую...


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

Или воспользуйтесь поиском по форуму:
4
21.07.2010, 22:52
Ответ Создать тему
Опции темы

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