Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка STL в Code Composer Studio
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Degun
Для следующей строки, использующей контейнер list из STL и шаблоны,
Код
list< TTreeObj<DataT>* >::iterator iterator_begin=childs->begin();

в Code Composer Studio выдаётся такое сообщение об ошибке:
Код
"ap_common.h", line 851: error: expected a ";"

Т. е. компилятору не нравится конструкция list< TTreeObj<DataT>* >
Таже самая строка в Microsoft Visual Studio 2008 компилируется без проблем. Как это исправить?
Ghost2
Может typedef поможет.
Degun
Цитата(Ghost2 @ Jul 3 2008, 12:37) *
Может typedef поможет.

С typedef-ом следующая история. Если сделать так:
Код
template <typename DataT> class TTreeObj
{
private:
    TTreeObj<DataT>* parent;
    list<TTreeObj<DataT>*> *childs;
public:
    TTreeObj(DataT d=0, TTreeObj<DataT>* p=NULL) : info(d), parent(p), childs(NULL) {}
    DataT info;
.....
};
typedef TTreeObj<DataT> TreeObjRefT;

template <typename DataT> TTreeObj<DataT>* TTreeObj<DataT>::operator[](int Index)
{
......
    list<TreeObjRefT*>::iterator iterator_begin=childs->begin();
.....
    return *iterator_begin;
}

то выводит такое сообщение об ошибке:
Код
"ap_common.h", line 817: error: identifier "DataT" is undefined

Если сделать так:
Код
template <typename DataT> class TTreeObj
{
private:
    TTreeObj<DataT>* parent;
    list<TTreeObj<DataT>*> *childs;
public:
    TTreeObj(DataT d=0, TTreeObj<DataT>* p=NULL) : info(d), parent(p), childs(NULL) {}
    DataT info;
.....
typedef TTreeObj<DataT> TreeObjRefT;
};

template <typename DataT> TTreeObj<DataT>* TTreeObj<DataT>::operator[](int Index)
{
......
    list<TreeObjRefT*>::iterator iterator_begin=childs->begin();
.....
    return *iterator_begin;
}

то выводит такое сообщение об ошибке:
Код
"ap_common.h", line 827: error: identifier "iterator_begin" is undefined

Как правильно нужно сделать?
Gyga
А может list<void*> и приведение типов?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.