Я пытаюсь создать отсортированный список областей в изображении, используя шаблоны.Определенный здесь класс имеет свою реализацию ниже в том же файле.
template <typename RegionType>
class SortedType
{
public:
SortedType();
~SortedType();
void makeEmpty();
bool isFull() const;
int lengthIs() const;
void retrieveItem( RegionType&, bool& );
void insertItem( RegionType );
void deleteItem( RegionType );
void resetList();
bool isLastItem() const;
void getNextItem( RegionType& );
private:
int length;
NodeType<RegionType> *listData;
NodeType<RegionType> *currentPos;
};
Определение структуры узла:
template <typename DataType>
struct NodeType
{
DataType info;
NodeType<DataType> *next;
};
, когда я пытаюсь скомпилировать код, я получаю ошибку: error: SortedType не является типом в строке, где я создаю прототипфункция для использования класса SortedType.Я думаю, что это как-то связано с шаблонами, которые я использую для класса SortedType, а класс NodeType вызывает какие-то проблемы, но я не уверен, как это исправить.
edit Прототип функции, в которой появляется первая ошибка:
int computeComponents(ImageType &, ImageType &, SortedType &);
У меня есть ошибки во всех прототипах функций, которые используют класс SortedType.NodeType объявляется перед SortedType.