Не подскажете, запутался:
в своем классе определяю лист
typedef std::list<CAcadDocumentWrapper> lDocumentsList;
lDocumentsList mListDocs;
typedef std::list <CAcadDocumentWrapper>::iterator Iter;
Iter IterDocs;
typedef std::list <CAcadDocumentWrapper>::const_iterator ConstIter;
ConstIter pIterADoc;
в листе храняться врапперы COM интерфейса Document сервера AutoCAD, и в моем классе есть функция работающая с этим листом
void CMyAutoCAD::Refresh()
{
...
if (!mListDocs.empty())
{
for (pIterDocs = mListDocs.begin(); pIterDocs != mListDocs.end(); pIterDocs++ )
{
if (pIterDocs!=pIterADoc)
mListDocs.erase(pIterDocs);
}
}
else
...
и получается когда я вызываю функцию Refresh() из своего (родительского) класса — все работает массив заполняется/удаляется/имеет размер, а когда я затем вызываю ее-же из класса (определеного в родительском как указатель на класс обрабатывающий события сервера) через указатель на родительский — list оказывается неинициализирован и работать с ним нельзя, а почему?? (вылетает уже на строчке с проверкой листа на то что он не пустой)