Как правильно объявлять функции для работы с закрытой структурой в классе
template <class SetType> class set{
public:
...
private:
...
struct list{//структура, в которой хранятся элементы множеств
SetType key;
list *next;
};
list *root;
list *head;
//функции для работы со списком
list *search(SetType key);//поиск элемента в списке
list *search(set<SetType> &ob, SetType key);//поиск элемента в списке
list *search_el(SetType id);//проверка множества на уникальность элементов
...
};
при компиляции вылетает 3 ошибки
"expected constructor destructor or type conversion before '*' token"
и относятся к такой записи
template <class SetType> set<SetType>::list *set<SetType>::search(SetType key){
...
}
http://pastebin.com/bBZSrCE4 вся программка
Источник: Stack Overflow на русском